First off, you might want to print this post out before you proceed, just in case OCN goes down again.
Try safe mode. If it powers down correctly, then it's probably software related. If it doesn't power down correctly, it's probably hardware related.
If safe mode shutdown works, reboot computer, run msconfig, General tab, selective startup, check "Load System Services" only. Under Services tab, check "Hide all MS services", and then disable all. Restart computer.
After restart, perform shutdown. If that works, it’s probably one of your services causing the issue. Go back to msconfig, and under services tab, try selecting half of the services, restarting, and then shutdown. If that works, try the other half. If that works, try all services. If it starts to hang at shutdown again, it's one or more of those services causing the issue. Narrow it down by trial and error until you nail it down to one service.
If you're still shutting down fine after enabling ALL services, go back to msconfig, and into the Startup tab. Do the same thing with items in startup that you did with services. See if it's a startup item causing the conflict. If you manage to get the system shutting down properly with all services and startup items enabled, looks like everything is working fine at this point. Go back to original config and see if problem starts up again (I couldn't imagine you getting to this point).
If safe mode doesn’t help, then it is likely hardware related. Run memtest to check the ram, make sure everything is firmly connected to the mobo. While powered down completely, disconnect and reconnect PCIe and SATA connections and see if that clears it up. If nothing turns up, you might be looking at a mobo issue (highly unlikely, but I suppose possible.)
If you need any clarification, let me know.