Yeah, it sures sounds like Ay Bay is getting stuck in a "boot loop". I read it as a good boot up from a shut down but a boot loop off a restart, so whatever is corrupted is at a very early level and needs a complete shutdown to clean it out of memory.
Av Bay, it certainly could be an installed program if that program adds an item to your startup routine. I'm surprised you keep reinstalling Windows. There's so many repair options in Windows that reinstalling hardly strikes me as something you should have to do frequently. Especially since I haven't heard anyone else report these problems with earlier giveaways.
I don't mean to insult you, but from your posts, we can't tell what you know or what troubleshooting you've done. So let me tell you what steps most of us would take if we were stuck in a boot loop. You should check for a newly installed startup item after you get into windows. If you haven't done it, one way is to click start and then either in the search box in the new style menu or by clicking run in the classic Windows start menu, type msconfig and click or double click to start it. That configuration tool allows you to do a lot of stuff that helps when you're having boot up problems. You can check for a new startup entry and sometimes turn it off or you can set the machine to reboot without any startup items and/or any Windows services to see if that's the problem.
Or try to boot up in safe mode when you're stuck in the loop. Press F8 (sometimes you have to hit it more than once) as soon as your Bios screen dissappears. That will also cause Windows to load with the bare minimum of drivers which will also confirm that it's something you installed, and not a Windows corruption. Also try running chkdsk to fix corruptions either when you get in to Windows anywhere or by the "using safe mode with command prompt" option you'll see when hitting F8, or the "repair your computer" option under F8 that will also give you access to various repair options, including a command prompt. You can also use restore points from repair your computer or access a backup. If you've never run chkdsk out of regular Windows, your select your hard drive (C:), selecting "properties" from the right-click menu, selecting the tools tab and clicking the Check Now button. If you have "automatically fix system file errors" checked in Vista, you'll have to shut down then reboot before it'll work, though you can uncheck that box and just run an analysis without rebooting. Also under F8, there's "disable automatic restart on system failure" that will break the loop for you. Of course, you'll still have to fix whatever's causing the loop or you'll never get a good restart. Besides chkdsk, you should also run sfc - system file checker - which can also be typed into search in the new menu, run in the old menu, or in any command prompt. This "hidden" utility can check all your Windows system files for corruption and replace the bad ones. In XP you sometimes need your installation or recovery disks, in Vista, all the backups are stored on the system.
Again, I'm not trying to insult by telling you things you may already now, but you did ask for help, and it looks like you're not using all your repair options if you're reinstalling a lot.