Genau das ist das Problem.
Ich denke das kommt noch aus der Nicht-Klassen-Welt, als es noch keine Return-Werte ausser Void/Int gab.

Du musst halt Return-Werte als zusätzliche Parameter by Reference deklarieren.
Falls die Service-Programme auch von woanders verwendet werden musst du wiederum Wrapper-Funktionen erstellen, die den Return-Wert eben als Parameter erwarten und zurückgeben.