Andrè l'ho perso pure io nun te preoccupà :-)
Mezzo mondo usa Windows e i loro ajax funzionano esattamente a quella maniera - ma certo che se uno prima ci chiede i codici e poi quando li ottiene ne rifiuta l'impiego per motivi "ideologici" c'è poco da fare.
"il codice funziona su Google Chrome su linux mint 8, con web server apache in locale.
Perché allora non dovrebbe funzionare su Chrome o Firefox (su windows), che hanno esattamente lo stesso modo di ottenere l'oggetto?"
Perchè se usi quello che t'ho consigliato io o Andrea, funziona. Se ti ostini ad usare il tuo, funzionerà benissimo su Chrome messo su Linux Mint versione 8 che già riduce abbastanza la platea... se poi lo passi alla ulteriore condizione "in localhost", funziona solo a te!
Se vuoi un ajax che funzioni pressochè ovunque, quello è: "cambiare tutte quelle varianti" è esattamente il modo di farlo funzionare (su "Windows", anche).
Diversamente dal che mi dispiaccio di entrambe le cose: di averti deluso nel tuo (in sè legittimo) purismo (purtroppo è da che esistono i computer che le implementazioni non seguono mai le specifiche sempre ed alla lettera), e di aver speso tempo su un problema che non era legato a soddisfare tue esigenze pratiche ma (intendasi in senso etimologico e non certo derogativo) di pre-giudizio (="codice per ottenere un oggetto sarebbe semplicemente" ecc... il problema è proprio quel semplicemente: Ajax cross platform e cross browser non è semplice)
ciau e auguri!