Esatto.
NN4 non riconosce ne` getElementById, e neppure .innerHTML
IE 5 usa .innerText al posto di .innerHTML
Opera non lo so.
Comunque se vuoi la compatibilita` all'indietro (fino NN3) usa:
document.NOMEFORM.NOMECAMPO.value = str;
In questo modo perdi la compatibilta` con XHTML Strict, ma forse non ti interessa troppo.