@Heza: So sollte der constructor von TCollection nicht überschrieben werden! Und da liegt auch nicht der Fehler
Die Daten werden nicht gespeichert weil die Eigenschaft Items als default-Eigenschaft definiert wird. Versuchs so:
property Items[Index: Integer]: TMyItem read GetItem write SetItem;