Sono stato troppo criptico, o intendevi dire che il problema non c'è?

Sostanzialmente, devo inviare tramite socket una serie di record di un database. Inviarli uno alla volta è una sciocchezza, quindi voglio (vorrei) inviarli in blocco.
Allora creo una lista di record, "streamizzo" tale lista e la invio al client. Solo che non so come "streamizzare" tale lista se non con un brutale casting: TStream(Lista)

E' un procedimento corretto, c'è qualche altro modo o ho proprio sbagliato l'impostazione della soluzione? :master: