In an email from Glen S.
I noticed that open layers swallows events such as mousemove so that I can't implement a global mousemove handler effectively. After a but of hunting I tracked it down to line 145 in Map.js. Changing the fallthrough param to true seems to do the trick.
this.events = new OpenLayers.Events(this, div, this.EVENT_TYPES, true);
Im not sure this should be the default behaviour, but I think it would make sense to have an option that is passed in to the new OpenLayers.Map() call which allows this to be specified.
maybe call the option "eventsFallthrough" or something like that.