If it hangs up during the windows shut-down process, it's most likely a software related problem in windows.
If it hangs up on the bios boot screen or before it gets there, it could be a stability problem.
If it does it consistently, each time you reboot, try a few different things - lower ram speed/timings, lower cpu speed, higher voltages for cpu/ram.
Instead of having settings set to "auto" (like for ram timings, multipliers, etc), set them manually so it doesn't have to re-detect them every time the system boots.
It's a good idea to disable all of the on-board stuff that you don't use - for example, In the bios, I always disable the on-board game port, com ports, parallel port, midi port, floppy drive controller, and hard drive controllers that I don't use.
Finally, just go through all of the bios settings and make sure they're set optimally for your setup. The manual does a good job of explaining most of them, but you may have to search on the 'net for others that aren't very well explained.