A simple fix is to replace the $wnd.__dispatchEvent() call with
$wnd.__dispatchEvent.call(this);
Here's a test class:
public class Test implements EntryPoint {
private HTML debug;
    public void onModuleLoad() {
        debug = new HTML();
        FlowPanel panel = new FlowPanel() {
            public void onBrowserEvent(Event event) {
                debug.setHTML(debug.getHTML() + "<br/>" +
DOM.eventGetTypeString(event));
            }
        };
        panel.sinkEvents(Event.ONCLICK | Event.ONDBLCLICK);
        DOM.setStyleAttribute(panel.getElement(), "border", "1px solid
blue");
        panel.setSize("100px", "100px");
        RootPanel.get().add(panel);
        RootPanel.get().add(debug);
    }
}