Es decir, el IIS no tiene timeout?
Trata poniendo en tu script
Server.ScriptTimeOut = 'cantidad en minutos o segundos, no recuerdo

, mejor si lo pones a 0 y vemos como funciona
Si eso no lo remedia, hazte un stored procedure, con lo cual el performace deberia ser mejor...
Salu2,