From the 35th Chapter of "Windows Can Be Annoying In Over-Protecting Your Computer": Once in a while (or all too often for some unlucky souls), a normal shutdown can be registered as a "crash" by Windows, leading it to restart instead of shut down. To prevent this, you need only uncheck one box in an advanced properties box, according to CNET's Dennis O'Reilly:
Right-click My Computer (Computer in Vista), choose Properties>Advanced (Properties>Advanced system settings>Advanced in Vista), and click Settings under Startup and Recovery. Uncheck "Automatically restart" under System failure, and click OK.
I've seen my share of XP machines run into "bad shutdown" loops this fix would help with, but one should always seek to troubleshoot the problem rather than smooth over the symptom. If you suspect a Windows Update or registry issue at the root, O'Reilly's post luckily has advice on those fronts as well.