Es ist eben einfach so, dass der Apache diese Variablen nicht aus seiner eigenen Environment in die des Scripts rueberkopiert. (Unter Windows (und sicher auch anderswo) gibt man beim Starten eines Kindprozesses ein Array an eine Systemfunktion mit, die die Environment des Childprozesses spezifiziert; oder man gibt nichts mit und sagt, die urspruengliche Umgebung soll verwendet werden.)
Klingt nach "Apache Source nehmen, eine Zeile ändern, neu übersetzen".
Auf UNIX hätte ich da keine Angst vor (make & cc), aber auf Windows braucht man ja so was wie eine Entwicklungsumgebung und einen Compiler und ...