The DEFINE_GUID call simply defines the GUID value constant in your code, it's not actually doing anything to register your object with the COM component category (which is stored in the registry).
See http://msdn.microsoft.com/en-us/library/windows/desktop/ms692551(v=vs.85).aspx and http://msdn.microsoft.com/en-us/library/windows/desktop/ms694322(v=vs.85).aspx
You can see which objects are registered into the various categories using the OLEView tool.
Also, be sure to place your BHO's DLL with an AppContainer-readable folder (e.g. a subfolder of the \Program Files\ folder). If you fail to do so, your DLL will not be loaded by the IE instance in Enhanced Protected Mode.