Das Programm soll starten, abarbeiten und sich beenden.
Ich erstellen in so einem Fall in der Regel eine eigene Kommandozeilenversion. Wenn die einzelnen Funktionalitäten sauber in eigenen Units (unabhängig von Forms) implementiert sind, ist der Pflegeaufwand nur minimal. Das ist immer noch besser, als eine
GUI-Anwendung künstlich wie eine Kommandozeilenanwendung agieren zu lassen.