Today while applying patches to a couple of mission-critical servers, I was reminded of something: reboots issued through the terminal services client are not always successful. The server can get stuck in an odd state where it is running but terminal services is not working. For me the workaround has been to issue a remote reboot command using the shutdown utility:
shutdown /r /m \\server_name_to_reboot /t 0 /f