La funzione createXmlHttpRequestObject quando viene richiamata?(in quale posizione della pagina si trova? inizio? in fondo?) cmq molto probabilmente il problema è che quando viene eseguita la funzione la pagina non è stata ancora caricata completamente. Mettendo un alert blocchi l'esecuzione del codice e nel frattempo la pagina viene caricata.