I used to have a program that would watch the startup processes as they load, time how long each one took to startup, and then spit out a report on which startup processes are slowing the loading process the most.
I can't remember the name of the software, so I'm hoping somebody here knows of it off the top of their heads..