Hola otra vez:
Tal vez sirva el código reformado, pero yo procuraría que los ficheros existieran y no usar ese tipo de truco.
Además, es posible que tanto explorer como mozilla tengan alguna implementación para ese tema, así que tal vez se pueda hacer algo más fiable.
Con respecto al timer, yo suelo usarlo de esa manera y no tengo problemas, para destruír setTimeout no lo creo necesario porque se ejecuta solo una vez, aunque exista clearTimeout()... aunque existe setInterval, que sin duda hay que destruírlo como dices...
De todas maneras, si tienes algún enlace que hable de ese tema, te agradecería que lo compartieses.
Saludos