Jag kan inte se några direkt fel här men du kan köra dit script genom
www.jslint.com där kan du verifiera dina script för att söka efter fel.
Du kan ju också använda andras bibliotek för XMLHttpRequest - som YUI(Yahoo User INterface) eller GWT(Google Web Toolkit).
Tror YUI är det enklaste och går snabbast att lära sig. Dom erbjuder också mycket DOM-funktioner som gör det enklare att hantera vad som händer med dom AJAX svar man får.