I've found the problem.
liveHandler starts with a returnValue of true and in some cases changes it to false. This true value tells IE that it should fire the event, regardless of another handlers (or at least is what I suppose it's happening).
The fix is simple, it's to start the returnValue with undefined, and never change it to true. I've made a commit for that: http://github.com/irae/jquery/commit/6438ab0da979307d8ea0ec5183d6a5e5a57bead8