Uninstall all your widgets.
Remove everything from:
- System Preferences > Accounts > your account > Login Items
- /Library/LaunchDaemons/
- /Library/LaunchAgents/
- /Users/username/Library/LaunchAgents/
Make sure nothing else is launching on reboot. If the problem goes away, add the items back, one at a time, until you find the culprit.
If it boots OK in Safe Mode, that leads me to believe it's not hardware.