¿Podria ser que el servidor donde se econtraba el archivo php no tubiera soporte para php,
y lo tratase como un archivo normal y te permitiera descargarlo?
Nunca he instalado un PHP como CGI, pero tengo entendido que hay que especificar cada directorio que sea "ejecutable" (que interprete los .php como PHP vamos) o en el fichero de configuración, o con los famosos .htaccess. En cambio usándolo como módulo, por defecto los interpreta.
Windows o *nix, funciona exáctamente igual Apache+PHP, sólamente cambian algunas funciones que hacen llamadas al sistema, y cosas de ese estilo.
El avatar ya van varios que preguntan, se fue de vacaciones