There is another notorious problem with Visual Studio 6 -
After starting Windows, if a DLL is loaded for the first time while debugging, the DLL memory copy will be destroyed at the end of the execution; however, Windows address for the in-memory copy will still point to the destroyed location. Consequently, any further attempts to use the DLL code will cause all kinds of strange problems (in ANY program attempting to use the DLL).
The real joke is that Microsoft's documentation says this is not a bug but a design consideration. That consideration cost me over a month of pain and agony.
To avoid this problem, I always execute the DLL code (for property sheets/pages and other loadable controls) in a non-debug version of the program before starting Visual Studio.
Thank God I do the majority of my testing on a laptop with hibernation.