Ciertamente ese es un problema viejo, y como en local siempre funciona en todos los otros casos, supongo que el problema es en el servidor que no manda las paginas como HTML sino como Text/Plain
No tengo tiempo/ganas

de comprobar mi teoria, pero supongo que (aparte de dupurar el código, por esta ....) si colocas en tu archivo algo como response.ContentType ="text/html" deberia de funcionar, o si no, pues ir al IIS y configurar las extensiones .asp en el botón "Computer MIME Content Types" de las propiedades del servidor como Text/HTML y
casi seguro que con eso funciona.