Moin...
Der Cast der TObjectList ist unnötig.
Delphi-Quellcode:
// so würde es funktionieren
lCaption := TDummy(TObjectList<Tdummy>(lList)[0]).Caption; // ja, aber schlecht
...
// so auch.
type
TDummyList = class(TObjectList<TDummy>);
...
lList := TDummyList.Create;
lList.Add(TDummy.Create('hallo'));
...
lCaption := lList[0].Caption;
...besser
Mit den Generics ist das casten eher Geschichte.