How many programs do you have on "startup" (conflicts?)

Try doing a diagnostic startup or a selective startup from MSCONFIG. If you have too many startups they can fight for resources by trying to queue up.

Also what software are you using and does any of it have 3rd party apps.

You can also try:

How to use scannow sfc...

The main reason for using this utility is when you suspect there may be a problem with a Windows XP system file.

Perhaps you get a dialog box appear informing you of a problem with a .dll file, or your program will just not load! It is therefore worth checking to see if there are any corrupt system files using scannow sfc.

To do this simply go to the Run box on the Start Menu and type in:

sfc /scannow

This command will immediately initiate the Windows File Protection service to scan all protected files and verify their integrity, replacing any files with which it finds a problem.

If you still have problems, submit a HJT log HJT Tutorial

You didn't mention this but are you fully patched (SP2), some software apparently depending on the age of the program can conflict with SP2 (most vendors have since upgraded their programs to work with SP2).

MS Article on compatabilities with software and SP2

If none of this helps, then start a process of elimination with your programs (as long as you have the original CD's for them), uninstall each program and verify the integrity of your system afterwards.