Aparentemente, o Windows XP, Vista, 7 e 8 vêm com um shutdown.exe para esse tipo de coisa (embora os argumentos / parâmetros tenham mudado após o XP). No meu sistema Windows 8.1:
C:\Windows\System32>shutdown /?
Usage: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/f]
[/m \computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]
No args Display help. This is the same as typing /?.
/? Display help. This is the same as not typing any options.
/i Display the graphical user interface (GUI).
This must be the first option.
/l Log off. This cannot be used with /m or /d options.
/s Shutdown the computer.
/r Full shutdown and restart the computer.
/g Full shutdown and restart the computer. After the system is
rebooted, restart any registered applications.
/a Abort a system shutdown.
This can only be used during the time-out period.
/p Turn off the local computer with no time-out or warning.
Can be used with /d and /f options.
/h Hibernate the local computer.
Can be used with the /f option.
/hybrid Performs a shutdown of the computer and prepares it for fast startup.
Must be used with /s option.
/e Document the reason for an unexpected shutdown of a computer.
/o Go to the advanced boot options menu and restart the computer.
Must be used with /r option.
/m \computer Specify the target computer.
/t xxx Set the time-out period before shutdown to xxx seconds.
The valid range is 0-315360000 (10 years), with a default of 30.
If the timeout period is greater than 0, the /f parameter is
implied.
/c "comment" Comment on the reason for the restart or shutdown.
Maximum of 512 characters allowed.
/f Force running applications to close without forewarning users.
The /f parameter is implied when a value greater than 0 is
specified for the /t parameter.
/d [p|u:]xx:yy Provide the reason for the restart or shutdown.
p indicates that the restart or shutdown is planned.
u indicates that the reason is user defined.
If neither p nor u is specified the restart or shutdown is
unplanned.
xx is the major reason number (positive integer less than 256).
yy is the minor reason number (positive integer less than 65536).
Veja link para um pequeno tutorial sobre como usar alguns desses argumentos / parâmetros.
EDITAR: Só estou mencionando isso porque talvez não mostre o mesmo comportamento. Quanto ao que está causando o travamento, pode ser qualquer número de programas em execução nesses sistemas XP. Lembro-me de ver algumas versões do Windows queixam-se de esperar que um determinado programa seja encerrado antes de ser encerrado, mas nunca ouvi falar de uma ocorrência em que o travamento desaparece após alguma atividade de teclado / mouse.