This is because IE automatically holds the event object at the window level, whereas Mozilla does not as far as I'm aware.
Whereas in IE you can fire an event, and in the receiving function, identify the caller using event.srcElement, Mozilla requires you to pass the event object as part of the argument in order to identify the caller. This simply means that instead of using runFunction(), you use runFunction(event).
You can then pick up the caller in Mozilla using event.target.
My experience would lead me to suggest that the window.event property in IE is one of those "Microsoft-only" implementations, and not adherent to any W3C standard; whilst this isn't always a bad thing, Microsoft shouldn't be using it in what is supposed to be a truly "cross browser" capable set of extensions.
Just my two-pennies' worth - I'd be grateful if anyone knows if Mozilla plan to change their model in the future, as to be fair it is a pain to have to pass around the event object.