Vermutlich machst du irgendwo Murks mit Zeigern. Dass es funktioniert hat und jetzt wieder funktioniert, ist wahrscheinlich reine Glücksahe.
Definitiv auch meine Vermutung
Nur wie passt das mit einem Neustart des Systems zusammen?
Gibt diverse Sachen, die sich nach einem Neustart ändern können. Z.B. werden alle DLLs dank ASLR an eine neue zufällige ImageBase gemappt.