GetClass gibt TClass zurück.
Du mußt das erst nach TPersistent casten, um dessen virtuellen Constructor nutzen zu können, da TClass diesen nicht kennt.
[edit]
Hmmm, neee, GetClass stimmt.
Und der Cast T sollte diesen Constructor auch kennen, aber vielleicht klappt das nicht da TObjectList<T> nur TObject/TClass kennt und der Generic deswegen hier mal wieder nicht richtig funktioniert?
Ein kleiner Hack zum Testen?
TPersistent(Item) := MyClass.Create;