Confession time? Maybe... you be the judge.
I had some new issues with my customization code running that had similar symptoms to the thing we are trying to track down here. Now, with all the complexities going on I can't say for sure but I think I've managed to resolve the issue from this thread by fixing a related problem.
When my Host Application loads the DTE, it extracts all methods and code for all to-be host items from a database. It then parses through the signatures in the results and uses the DTE's API for managing code items and manually re-creates the entire project from scratch. Well, I seem to have had some of my signature parameters reversed, which caused some other problems. My only guess is that the event I was using for testing my issues on this thread had a similar problem (or maybe not synchronized between Release and Debug Dlls). So, after resolving the other problems with signatures and starting from scratch with my addIn project the events appear to be firing just fine through the event helper method even when I re-load the addin multiple times and hit the same event.
In the end I think your video clip helped me track down the larger issue of parameter translation, which helped me relize where my root problem was.
Of course, there are parts of this that don't completely make sense but it's quite stable and all working as it's supposed to so I'm going to put this one to bed.
Thanks!