mm Pero como accedes desde PHP a ese archivo externo? .. usas sockets? .. o un fopen() .. o un include() ...?
Relamente lo que mejor control te daría al respecto sobre el time-out de la conexión sería hacerlo por sockets directo ....
Puedes ver un ejemplo usando la función fsockopen() y el protocolo HTTP
http://www.php.net/fsockopen
ahí veras que hablan de otra función: stream_set_timeout() para que puedas comprobar constantemente mientras lees tus datos del socket abierto si todavía está activo.
Un saludo,