I would look at programs being launched during startup. I had the same problem as you, and it was caused by a HP program being launched when I start Win. You might as well try troubleshooting which programs at the start are safe to run. You can use the DirectX program to manage what is started.
(DirecX 8)
It's usually found here:
%ROOT%\Program Files\DirectX\Setup\ - DxDiag.
Open it, click on the "More Help" tab on the top right.
Then select "MSInfo" (new window pops open), "Tools" -> then "System Configuration Utility".
Click the "Startup" tab on the top right.
Now you have a list of all the programs being started during your boot.
Unselect them all, reboot, then play your game. See if it freezes again. If it doesn't then go back to the DirectX "Startup" and select two at a time, reboot, and run your game.