Dagegen spricht erstmal nix, aber du kannst es vergessen die den TFzzV.Record einfach so in einen Stream oder sonstohin speichern oder kopieren(Move) zu können.
String, dynamische Arrays, Interfaces und teilweise auch Variants sind intern "Pointer", womit man also nicht den Inhalt speichern würde, sondern nur den Zeiger
und wenn man sowas direkt läd/kopiert, dann zerschießt man sich auch die automatische Speicherverwaltung, über welche diese Typen verfügen.
Also jedes Feld einzeln in den speichern oder man geht über die
RTTI, bzw. nutz eine Serialisierungs-Lib, welche eventuell ebenfalls mit der
RTTI arbeitet.
Der ShortString / String[123] und statische Arrays würden aber auch direkt gehn, da sie komplett im Record liegen, ohne Pointer.