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?