Yo creo que hay algo que no funciona como esperas y hay un error en alguna parte. Por eso, yo haría lo siguiente:
Primero, revisaría la configuración del servidor para asegurarme de que devuelve
todos los errores que se puedan producir. Es decir, lo pondría en modo pruebas. Que no ignore absolutamente nada. Ojo, que PHP es muy puñetero y la gestión de los errores está repartida en unas cuantas variables, y si no todas están bien asignadas habrá cosas que no verás. Asegúrate, también, de que no cambias alguna de estas variables en tiempo de ejecución. Si no lo has hecho ya,
lee todo esto.
Luego cambiaría el código del cliente para que muestre
todo lo que devuelva el servidor, sin dejar ni un octeto. Supongo que
InternetReadFile es capaz de indicar si ha quedado algo en la caché. Pues eso, que llene un TMemo o un archivo de disco con lo que reciba, tal cual. Cuidado con los caracteres de control (saltos de línea, tabuladores, etc.). También guardaría la información de cabecera, porque puede dar información
invisible pero útil, como la codificación de caracteres, la URI auténtica, variables GET y POST, huellas (
cookies),...
A partir de ahí ya se verá lo que se hace.