Got rid of the whole event filtering mess again, I can't get it to work. Simply disabling the Tk event handling hook in _tkinter is not as nice, but at least it works.
diff --git a/Mac/tclmods/tclMacNotify.c b/Mac/tclmods/tclMacNotify.c
index d8737ae..8fc313a 100644
--- a/Mac/tclmods/tclMacNotify.c
+++ b/Mac/tclmods/tclMacNotify.c
@@ -83,24 +83,6 @@
 			    ClientData clientData));
 
 /*
-** Routine to determine whether Tk is the "main event handler" at the moment or
-** something else (MacPython, IDE) is.
-** Currently we only check that the frontmost window is Tk based, it may be better
-** to also check whether we're inside a Tk mainloop().
-*/
-static int
-TkIsTheBoss(void)
-{
-    WindowRef windowRef;
-
-    windowRef = FrontWindow();
-    if ( !windowRef )
-    	return 0;
-    if ( TkMacGetXWindow(windowRef) )
-    	return 1;
-    return 0;
-}
-/*
  *----------------------------------------------------------------------
  *
  * InitNotifier --
@@ -174,8 +156,6 @@
     WindowRef windowRef;
     Rect mouseRect;
 
-    if ( !TkIsTheBoss() )
-    	return 0;
     /*
      * Check for mouse moved events.  These events aren't placed on the
      * system event queue unless we call WaitNextEvent.
@@ -211,13 +191,11 @@
      */
 
     while (needsUpdate || (GetEvQHdr()->qHead != NULL)) {
-   	/* Give Python command-. handling a chance */
-	PyMac_DoYield(0, 0);
-	
 	GetGlobalMouse(&currentMouse);
 	SetRect(&mouseRect, currentMouse.h, currentMouse.v,
 		currentMouse.h + 1, currentMouse.v + 1);
 	RectRgn(notifier.utilityRgn, &mouseRect);
+	
 	WaitNextEvent(everyEvent, &theEvent, 5, notifier.utilityRgn);
 	needsUpdate = 0;
 	if ((notifier.eventProcPtr != NULL)