Oops, WaitNextEvent was hand-coded, and it also needed the h->H conversion for PyArg_ParseTuple format strings.
diff --git a/Mac/Modules/evt/Evtmodule.c b/Mac/Modules/evt/Evtmodule.c
index 093c470..c161c75 100644
--- a/Mac/Modules/evt/Evtmodule.c
+++ b/Mac/Modules/evt/Evtmodule.c
@@ -328,7 +328,7 @@
 	UInt32 sleep;
 	Handle mouseregion = (Handle)0;
 
-	if (!PyArg_ParseTuple(_args, "hl|O&",
+	if (!PyArg_ParseTuple(_args, "Hl|O&",
 	                      &eventMask,
 	                      &sleep,
 	                      OptResObj_Convert, &mouseregion))
diff --git a/Mac/Modules/evt/evtsupport.py b/Mac/Modules/evt/evtsupport.py
index d4fb595..7725ded 100644
--- a/Mac/Modules/evt/evtsupport.py
+++ b/Mac/Modules/evt/evtsupport.py
@@ -79,7 +79,7 @@
 UInt32 sleep;
 Handle mouseregion = (Handle)0;
 
-if (!PyArg_ParseTuple(_args, "hl|O&",
+if (!PyArg_ParseTuple(_args, "Hl|O&",
                       &eventMask,
                       &sleep,
                       OptResObj_Convert, &mouseregion))