A menos que realmente vaya a trabajar con los objetos ActiveXObject no necesitas hacer esto:
    
Código Javascript
:
Ver original- xhr:  (window.ActiveXObject) ? 
-             function() { 
-                 try { 
-                     return new window.ActiveXObject("Microsoft.XMLHTTP"); 
-                 } catch(e) { 
-                     return new window.ActiveXObject("Microsoft.XMLHTTP"); 
-                 } 
-             } : 
-             function() { 
-                 return new window.XMLHttpRequest(); 
-             } 
Fuera de aquí tu código no tiene nada incorrecto. Como dices, localmente si te funciona y en el  de producción no. Tal vez tu servidor de correo en producción este tomando mas de lo necesario en responder, está actualizado ? 
Ya depuraste bien con Chrome o Firebug (Firefox) ??