Was du da hast ist DEFINITIV kein Fall für einen Record.
Mache eine Klasse daraus. AnsiStrings in Records werden oft nicht freigegeben, außerdem ist das Arbeiten mit einem Record in dem sich Objekte befinden _ziemlich_ eklig.
Records, sollten
IMHO nur als stumpfsinige Datencontainer benutzt werden wenn die Größe der Daten konstant ist (also keine strings, keine dyn. arrays und keine Objekte).
Für alles andere finde ich Klassen angebrachter.