Wäre es denn im konkreten Fall nicht besser, das ganze Konstrukt irgendwie zu ändern?
Eine Prozedur FillAdresse, die die Felder füllt und dann die Funktion, die die gewünschten Felder "concatiert" (gibt's das?) ausgibt?
Man könnte z.B. die Funktion GetDebitorName in TAdresse verlagern. Es gibt -zig Möglichkeiten das Problem zu umgehen - deswegen ist es bisher wohl auch nicht aufgefallen.