Reicht das nicht, wenn mit Beendung des Scripts mit der Func OnAutoItExit() die _WinAPI_RegisterWindowMessage('SHELLCHANGENOTIFY') wieder aufgehoben wird? so wars ja auch ursprünglich im Beispiel.
Edit: Wenn ichs ohne diese Schleife laufen lasse, erhalte ich folgende Ausgabe, das Script beendet dann:
>Exit code: 0 Time: 2.65