Gibt mMn kein entweder oder - sowas wie TJvMemoryData o.ä kann genutzt werden, um bereits in anderer Form vorhandene Daten von Dingen zu konsumieren, die mit TDataSet arbeiten - z.B. Grids.
Falls die Daten sowieso direkt aus der Datenbank kommen, und dafür erst Objekte gebaut werden, die dann in eine Liste gepackt werden, die dann über ein TJvMemoryData an einen Report gegeben werden, ist das möglicherweise durchaus ungünstig und es wäre besser, die Daten direkt in einem Dataset aus der Datenbank zu saugen und an den Report zu geben.
TL'DR: Es kommt drauf an