Abstract besagt nur, daß man in tMyBaseClass für Clone keinen Code hinterlegen will.
Das hat aber garnichts mit dem Aufruf zu tun.
abc.ClassType := tMySpezielleKlasse ;
sollte in Delphi doch eigentlich nicht funktionieren.

Und wozu soll dieses gut sein?
Ansonsten sollte dein Code eigentlich funktionieren.
Kannst du mal bitte ein komplettes Beispielprojekt hochladen?
Welche Delphi-Version nutzt du denn?
Warum nutzt du TList und nicht TObjectList, für die Verwaltung deiner Objekte, bzw. als Vorfahre von tMyList?
Und was macht dein Add intern?
Ein Therapeut entspricht 1024 Gigapeut.