Die StringListe als Erstes in den Stream und dann noch eine #0 (besser ein
Word mit dem Wert 0) hinten an den Stream ... danach kann man ohne Probleme andere Daten dranhängen.
Hat man den Gesamt-Stream in einem TMemoryStream drin, dann kann der Text der StringList sonstwo stehen, onlange auch da eine #0 hinten dran hängt ... einlesen dabei z.B. über TStringList.SetText.
Ich hatte mir irgendwo mal einen Stream erstellt, welcher einen Teil eines anderen Streams wie einen eigenständigen Stream representiert, ohne die Daten vorher temporär zu kompieren.