Я бы посмотрел в Event Viewer, возможно, в системном журнале или журнале приложений.
Некоторое программное обеспечение препятствует завершению работы, например, программное обеспечение виртуальной машины (я полагаю, что VMWare делает, по крайней мере, на OS X) не позволит вам завершить работу или перезагрузить компьютер во время работы гостевой ОС.
Другая идея заключается в том, чтобы загрузить каждое приложение, которое вы обычно открываете, и попытаться перезагрузиться после его загрузки. Это может помочь вам отследить, что вы открываете, когда не можете перезагрузиться. Это было бы очень много времени.