Danke für die Hinweise.
Nach einigen Stunden überlegen (und zwei Wochen Urlaub) kam heute die Lösung:
beim Aufruf der Prozedur ControlToStringList hatte ich als ParentControl einen konkreten Form-Namen drin. Das hab ich durch "self" ersetzt und voilà. Jetzt kann man mich vermutlich dafür prügeln, ich nehme aber an, dieses Verhalten liegt daran, dass ich das Formular mit
with TBestimmtesForm.Create(Application) do
Show;
erzeuge.
Deswegen hat es auch als Standalone geklappt, weil da das Formular, das der ControlToStringList übergeben wird, das zum Projektstart erzeugte Hauptform ist. Ich bin aber dankbar für eine fundiertere Erklärung zum Verständnis.