Have you tried launching msconfig and selecting "selective start up"? You can disable some or all programs that auto-loads. It's a easy way to identify which program is causing the delay if it's software related. Once the program is identified you can select normal start up. It's a neat little diagnostic tool.