I have written a BHO that works in IE6 and IE7. However, on Vista on IE7 with Protected Mode on the BHO is never called (SetSite is not called). The BHO works on Vista on IE7 with protected mode off.
The BHO shows in IE7 Manage Add-ons as enabled. What prevents a BHO from being called when protected mode is on.