Die Problematik der redundanten Referenzen (Objektliste und Data-Eigenschaft des TListItems) umgehst Du durch Verwendung der Eigenschaft "OwnerData := True"
Dann legst Du den Event OnData fest. Fertig.
Delphi-Quellcode:
procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem);
begin
Item.Data := MyObjectList.Items[Item.index];
Item.Caption := MyObjectList.Items[Item.index].TheTitle;
Item.SubItems.Add(MyObjectList.Items[Item.index].MoreStuffToShow);
end;
Wenn Du mit Bildchen arbeitest, musst du die entsprechenden Eigenschaften des TListItems auch noch setzen und ggfs. einige andere Events definieren.
Das Bild hängt schief.