Ich habe das schon lange ad acta gelegt und mache für eine Kommandozeilenversion immer ein separates Projekt. Dabei ist der eigentliche Code in den entsprechenden Units vorhanden und wird bei Bedarf sowohl von der
GUI- als auch von der CMD-Variante verwendet. Damit hält sich die Pflege in vertretbaren Grenzen und es lebt sich damit deutlich befreiter.
Der UI und BL code sind sauber getrennt. Ich würde es auch so machen wie du. Es gibt leider andere Zwänge die es notwendig machen diese Exe Datei zu benutzen.