Übergib einfach ein TStringDynArray res dürfte nichts anderes als die Definition eines Array of String sein, nur dass es als Typ zuweisungskompatipel ist
Alternativ deklarier dir im Interface
type TStrArray = Array of String;
und nutz das dann... kommt ziemlich aufs selbe raus
edit: Dein Problem ist ja nicht das Array, sondern die Zuweisung. Deklarierst du also pro Funktion ist das Für den Compiler jeweils ein anderer Typ und die sind für gewöhnlich nicht kompatipel. Darum kommt die Meldung. Nutzt du aber sowohl im Funktionskopf als auch im aufrufenden Code ein und den selben Typen (Den du dir aus Types holst oder selber definierst) sind diese kompatibel weil sie ein und der selben Definition entstammen.