Versuch mal, TKurve nicht als Record sondern als TPersistent-Ableger zu deklarieren. Dann solltest du die ganzen Objektinstanzen per TList verwalten (OwnsObjects nimmt dir Arbeit beim Freigeben ab).
Die Prozedur PutKurve solltest du in WriteKurve umbenennen, das hat sich stilmäßig so bewährt. Technisch ist das aber irrelevant.
EDIT: Um noch zu ergänzen, warum das bei Dir nicht funktioniert: Du kannst auf Records als Objekteigenschaften nicht auf diese Weise zugreifen. In deinem Fall müßtest du das so machen:
Delphi-Quellcode:
procedure TVisuKurve.PutKurve(Index: Integer; value: TKurve);
begin
with FKurven[index] do begin
Aktiv:= Value.Aktiv;
Farbe:= Value.Farbe;
{....}
end;
end;
Diese Zuweisungsprozedur entspricht im Wesentlichen auch einer Assign-Prozedur bei den TPersistent-Objekten.