Windows has something called "Selective Startup" that will help you figure out what's going wrong.
Go to Start/Run and type "msconfig" (without the quotes) in the box.
Under the "General" tab, click "Selective Startup." (Screen shot shows XP, but this will work in Win 98/ME and 2K).
You'll see several check boxes. Uncheck everything and reboot. Then check just the first and reboot. Did startup run smoother without any issues?
Then go back to msconfig, check the next box and reboot. Continue this process until you experien
ce your problem.
The next step requires a time commitment.
Let's say that your problem appeared when you checked "Startup Items." Then go to the Startup tab and click the "Disable All" button. Check off half of the boxes on the list and reboot. No issue? Then check the next half and reboot. When the problem happens, narrow down that half until you isolate which item is causing the issue.
Once the offensive item is found, just uncheck it. Continue checking the rest of the boxes and rebooting to make sure you don't have more than one problem.