OK... That was silly. 

 It seems that only this particular COM object misbehaved. COM Events can be handled as I expected:
code:
function OnEvent_Initialize(MessengerStart)
{
  var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  xmlHttp.onreadystatechange = ORSC;
  Debug.Trace("Init complete."); 
}
function ORSC()
{
  Debug.Trace("onreadystatechange");
}
Thanks for reading. And thanks to CoolDuDe_i06 for inspiring me with the gmail script.