Mit Delphi wird es vermutlich schwer, da du ja relativ weit ins System eingreifen mußt, bzw. das Programm schon frühzeitig starten muß, wo dir noch nicht alle APIs zr verfügung stehen, welche ein Delphiprogramm so braucht.
Eventuell könnte man mal versuchen frühzeitig den Volume-Shadow-Service für alle Dateien der Bootplatte zu aktivieren, womit dir Windows dann Kopien anlegent, welche man hoffentlich einfach wieder verwerfen könnte.
Ansonsten müstest du alle Dateizugriffe abfangen, bei Dateiänderung eine Kopie anlegen und dieses Dateien dann wieder zurückzukopieren.
Am Einfachsten wäre es aber, die Dateizugriffe auf die Kopien umzuleiten, dann müßte man nichts zurückkopieren, sonder einfach nur den Ordner mit den Kopien regelmäßig löschen.
Keine Ahnung was du damit genau bezweckst.
Man könnte ja auch eine VM aufsetzen, mit einem Snapshot/Rückgängigkeitsdatenträger, welche im Vollbild gestartet wird ... alles was in der VM passiert kann man dann wieder zurücksetzen.
Also quasi Windows/Linux in einem Kioskmodus starten und nur die VM ausführen.