I suppose we can hijack this thread, it's unfortunate you didn't create a new topic so the discussion would be easier to find. Maybe there is a way to split topics but if so I can't find it.
We've never documented jQuery.event.handle, although I completely understand that special event handlers would like to have additional functionality that wasn't there before. So 1.7 adds new special event hooks and a few helper properties. I am planning on documenting them but it will be a week or so before I get to it. They include a "handle" hook so you can decide what to do when an event is delivered, a "trigger" hook that can override the default triggering behavior, a noBubble property to prevent a manually triggered event from bubbling, and bindType / delegateType properties to allow you to piggyback on existing event behavior.
I think what you are doing could be done now with just a bindType/delegateType, handler hook and no setup/teardown at all. Note that your handler is setting the event type on the original event and not setting it back, that could cause havoc for any events attached after yours expecting a plain old click.
Since it sounds like you're familiar with the source code, take a look at event.js and see the special event handler for mouseenter/mouseleave which seems similar to your needs. Also have a look at jQuery.event.fixHooks which let you modify the event object sent to a handler from a native browser event.
Given that we've found a few people who are using it, I will add back an alias for 1.7 so that jQuery.event.handle = jQuery.event.dispatch. Once a few more versions have gone by, expect it to disappear. It's kind of hard to deprecate since we didn't ever document it.