You can stop some programs from running at startup by removing them from the startup folder in the start menu, in the registry there are some in
These are also listed in msconfig (System Configuuration Utility) Startup tab and are usually third party firewalls, antivirus, or checks for updates to programs like java, real player, quicktime, etc. and good programs like Java will give you the option of having them run or not run. Backing up your registry before hand isn't a bad idea either. I have used the old program bootvis from MS with success also. Although they no longer offer it for download, other sites do. Task Scheduler and COM+ Event System need to be set to automatic in system services for it to work. (Start>Run>services.msc>OK). Do your homework first if you are going to use it. I also got this bit off the web a few years back:
"Manual Instructions - Reboot Windows XP two times, then go to "Start", "Run", Type Rundll32.exe advapi32.dll,ProcessIdleTasks. This can take 10-15 minutes to run but no notification will be given when it is finished. You will notice increased Harddrive activity while it is running wait until this stops. When this is finished in the "Run" box Type defrag c: -b. It is not necessary to do again unless something has been added or removed from the boot sequence (Drivers, Startup Applications ect...) "
I haven't tried the later but imagine it would be easier than installing and running bootvis like I did. Either way be patient, google around, and do some reading.