Cioe` tu hai fatto un'analisi molto puntuale e circostanziata del problema.
Hai anche trovato la soluzione e la hai postata.
Cosa e` la domanda?
Forse devi solo inserire:
if(document.all) {
// soluzione per IE
} else if(document.getElementById) {
// soluzione per gecko (moderni non IE)
} else {
// soluzione impossibile
}