A: 

Well it looks like your handlerDelegate is null when you are calling the RemoveHandler. I am not sure why this would happen, but have you tried instantiating the handlerDelegate right before calling RemoveEventHandler?

Victor
I've stepped through the code in the debugger, and handlerDelegate is not null when I call RemoveEventHandler. I've updated the question to reflect this.
Greg
A: 

Can you do:

eInfo.AddEventHandler(target, handlerDelegate);
eInfo.RemoveEventHandler(target, handlerDelegate);

in the InstallHandler method?

And check if that works?

Igal Serban
I have checked that, and it does work. Question edited to reflect this.
Greg