Is there a way to know what program slows down startup?
MSDN's Windows Performance Toolkit is a much better set of tools than the old Bootvis utility. At its most basic, you can use the tools to provide you with a similar graphical display of boot performance which was provided by Bootvis.
And then there is Passmark AppTimer to analyze the startup behaviour of applications.
As for startup management, I strongly recommend Autoruns instead of MSCONFIG (which is NOT a startup manager, but a troubleshooting utility and therefore best left alone).
Soluto can measure the load time of all applications that are set to run on startup. It allows the user to disable an application from startup or delay it from startup.
More information on Soluto.
As of 2016-04-01, Soluto for PC has been shut down. It is no longer being developed and is not available for download on the developer's website. It can still be downloaded from third-party websites.
For your problem, I would remove ALL programs from startup, and slowly add them one by one and see which one causes Windows to really hang. I always avoid running programs on startup to get the fastest startup possible.
Click START, RUN, and enter msconfig
and go to the Startup tab to see all programs running on startup. There will be a lot in there that you don't expect.