That looks good, and is quite similar to what I came up with (but yours is cleaner and with IE5 support). What you may have missed is that IE doesn't have evt.stopPropagation(); or evt.preventDefault(); which are relevant to this example. It would be quite easy to fix IEEventHandler in your code to add these methods to the event object. Furthur complicated by Safari: it has stopPropagation and preventDefault, but the implementation of these methods are missing. (I'm not sure if these are fixed in the current version of Safari).
A more general question is if the addToCallStack method is going to fully emulate the w3c addEventListener functionality? Rewriting addToCallStack a la your method would seem like a solution... is this desirable?
