Program stops after printing "bad event type" message .. .
bad event type or keysym "_" at PMEdit-001.000202-1.pl line 269, <DATA> line 81.
... but that goes away (and a Tk window emerges) if I change _ to one of [a-zA-Z0-9] but not [-+].
So after source diving, I found that the key symbol is being retrieved, in Tk-804.027/pTk/mTk/generic/tkBind.c:TkKeysymToString(), via XStringToKeysym(3X11) which uses X11/keysymdef.h which does not have any X_[-+_] entry but does have X_(underscore|plus|minus). Needless to say, after changing '_' in the underline key binding to 'underscore', Ctrl-_ worked as expected.