>My question is this: is there something I can do to see what events have fired and which event handlers have been delegated to handle the event? I suspect something goes wrong in the wiring somewhere in there, and being able to track which events are actually firing might help me find where it's going wrong.
>
You ought to be able to call GetInvocationList to see a list of delegates for the event:
Delegate[] delegates =
MyEvent.GetInvocationList();
I have never done this but you can read about it here:
http://www.fawcette.com/vsm/2003_05/magazine/columns/qa/