Du kannst in deiner
DLL ohne weiteres kompilizierte Kurs-, Entfernungs- und Ortberechnungen einbauen.
Das würde auf jeden Fall Sinn machen, denn dann könnten auch andere Programme diese Kernfunktionen, die viel mathematisches Knowhow erfordern, nützen.
Was aber eher schlecht ist, wenn deine
DLL irgendwelche visuellen Steuerelemente (Controls) verwendet.
Das macht nämlich erhebliche Probleme, da dann zwei Instanzen der
VCL existieren, die nicht zusammen kommen.
Ich würde auch das Laden und Speichern von Konfigurationsdateien nicht in die
DLL packen,
sondern alle notwendigen Daten der
DLL von "Aussen" also aus der Anwendung übergeben.
Wo man jetzt genau die Trennlinie zwischen Anwendung und
DLL zieht hängt immer auch vom Einzelfall ab.