If I were you I'd use MSCONFIG to disable all startup items and all non-MS services and then reboot. See how that works. If all works OK gradually add services and startup items.
If your system doesn't shutdown from this state then there is something wrong in Windows or a driver. Try running SFC /SCANNOW (and have your Windows installation CD handy) to check that Windows files are consistent. If that doesn't find anything I would try upgrading motherboard and graphics drivers.
The other thing I would do is run a full Start > RUN> CHKDSK C: /R /V on your system drive to ensure it is consistent (esp. if you have been using the power and restart buttons a lot).
Also don't forget to look in the Application and System event viewers for come clues (START > RUN > EVENTVWR.MSC)