I ran into the strangest problem today. After upgrading to IE8, my Visual Studio 2005 (this is for work on a legacy system) debugger would detach all by itself soon I hit F5 to debug an ASP.NET page via IIS.
Turns out this is due to IE8’s use of separate processes for tabs. To disable this behavior, set a DWORD value of 0 in the key HKLM\Software\Microsoft\Internet Explorer\Main\TabProcGrowth.
Of course this negates the benefit of running tabs in separate processes, but the debugger will not automatically detach.
Update: make sure you set the registry value in the 32-bit hive.