Der Aufruf einer Funktion in einer
DLL unterscheidet sich nicht vom Aufruf einer Funktion in einer ausführbaren Exe-Datei. Beides ist gleichschnell. Ob Funktion oder Prozedur hängt davon ab, ob du einen Rückgabewert haben willst oder nicht. Wenn du mehrere Ergebnisse zurückliefern willst, musst du sowieso Ausgabeparameter verwenden.
Da deine Funktionen augenscheinlich mathematische Dinge berechnen sollen, würde ich die ganzen mathematischen Funktionen in eine
Unit packen und bei Bedarf dann ins Programm einbinden.