anteriormente habia leido que no se debe usar el mismo objeto XMLHttpRequest para crear una nueva peticion. es decir, reutilizar un mismo objeto ya creado. nunca llegue a leer el detalle tecnico del por que. lo cierto es que si intentas hacer lo que estas haciendo -segun sea el navegador- debe generarte error (chrome), o se congela (iexplorer8), o solo realiza un numero limitado de peticiones (firefox). el error de chrome dice DOM Exception (11): INVALID_STATE_ERR el cual significa "se intento utilizar un objeto que no es, o dejo de ser, utilizable". a veces en ingles se entiende mejor, "If an attempt is made to use an object that is not, or is no longer, usable." viendo el
draft de w3c, esta excepcion aparece cuando el orden la inicializacion no es la adecuada. por ejemplo si intentas invocar send antes de open. no me extrañaria que algo similar sucede aqui, y por eso no puedes hacer multiples peticiones con el mismo objeto.
@edit, me olvide comentar. la unica forma que me parece posible reutilizar XMLHttpRequest es si restauras todos sus estados, y para ello tienes que invocar abort() antes de volver a iniciarlo con open().