Adesso e' piu' chiaro ma non penserai di bloccare il funzionamento di Windows solamente eseguendo un programma che attende un tasto ...

E' normale che il processo dei messaggi continui a funzionare, a prescindere da quello che fa il tuo programma e quindi vengano comunque inviati i messaggi per riaccedere lo schermo ...

Penso che l'unico modo sarebbe quello di implementare un hook globale e gestire i messaggi per la riaccensione.