Yes it's a bit of a pain, but I like a good mystery
so if you are willing to forge ahead, so am I
Let's try this next, let's do a clean boot analysis to eliminate services and startup programs.
It can be a bit tedious, and will take you a while to get it done, so please take your time as you go thru these steps.
Start the System Configuration UtilityFor XP:
Click Start, click Run, type msconfig, and then click OK.
The System Configuration Utility dialog box is displayed.For Vista / Windows 7:
Click the Start Orb. in the search box type msconfig and press enter.
The System Configuration Utility dialog box is displayed.
Configure selective startup options
In the System Configuration Utility dialog box, click the General tab, and then click Selective Startup.
Click to clear the Process SYSTEM.INI File check box. XP only
Click to clear the Process WIN.INI File check box. XP only
Click to clear the Load Startup Items check box. Verify that Load System Services and Use Original BOOT.INI are checked.
Click the Services tab.
Click to select the Hide All Microsoft Services check box.
Click Disable All, and then click OK.
When you are prompted, click Restart to restart the computer.
Step 3: Log on to Windows
If you are prompted, log on to Windows.
When you receive the following message, click to select the Don't show this message or launch the System Configuration Utility when Windows start check box, and then click OK.
You have used the System Configuration Utility to make changes to the way Windows starts.
The System Configuration Utility is currently in Diagnostic or Selective Startup mode, causing this message to be displayed and the utility to run every time Windows starts.
Choose the Normal Startup mode on the General tab to start Windows normally and undo the changes you made using the System Configuration Utility.
Now we get to the tedious part,:
If windows behaves itself then do the following
Restart MSConfig and select half of the disabled services and reboot
Is the problem still present ?
If Yes then deselect half of the services that you resumed and reboot
If no then select half of the remaining services and reboot
The intention here is to isolate the one service/driver that is causing the problem