Mejor no muestro todo el codigo, porque es demasiado, pero si que pongo la funcion con la que creo el objeto XMLHttpRequest, a ver si hay algun fallo. En principio lo hize para que funcionara con la mayoria de los navegadores, pero igual lo he hecho mal, no se...
   Cita:  	function objetus() { 
 
		var xmlhttp; 	
 
		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			xmlhttp = new XMLHttpRequest();
			if (xmlhttp.overrideMimeType) {
				xmlhttp.overrideMimeType('text/xml');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
 
		return xmlhttp; 
	}
    
Sinceramente no creo que ese sea el error, porque al hacer estos alerts 
 Cita:  		    alert(objetus); //objeto XMLHttpRequest
			alert(objetus.responseXML);
			alert(objetus.responseXML.documentElement);
    En FireFox aparece '[objeto tal]' en los tres, y en Internet Explorer, sale '[objeto]' en los dos primeros, pero en el ultimo pone 'null'. Asi que parece que el objeto XMLHttpRequest esta bien... aunque a saber, jeje