Eu daria uma olhada no Event Viewer, provavelmente no log do sistema ou talvez no log do aplicativo.
Alguns softwares impedem o desligamento, por exemplo, o software Virtual Machine (acredito que o VMWare, pelo menos, faz no OS X) não permitirá que você desligue / reinicialize enquanto o sistema operacional convidado estiver sendo executado.
Outra ideia seria carregar cada aplicativo que você normalmente teria aberto e tentar reinicializar após o carregamento. Isso pode ajudá-lo a rastrear o que você está abrindo quando você não pode reinicializar. Seria muito demorado.