Usé google como te comenté .. por el término "CGI timeout" .. y salió por ejemplo este comentario o FAQ de M$:
http://www.microsoft.com/technet/com.../iisi0302.mspx
(fijate en la última)
Dice que por defecto en IIS tus scripts CGI (parece que instalastes PHP como CGI? no como "múdulo" (ISAPI creo que le llama en IIS)) dice que son 300 segundos (5 minutos) lo que se le dá de tiempo a un script para su ejecución (pero igualmente revisa ese valor) .. Lo más probable es que el tiempo de subida de tu archivo o proceso exeda ese tiempo (por eso te funciona con archivos pequeños).
Un saludo,