Nachtrag:

Deine Prozedurdeklaration für die UDF ist auch falsch!!!
Die NULL-Anzeiger werden nicht als Array sondern als einzelne Parameter, dadurch verschieben sich natürlich auch die Adressen der Parameter, insbesonders des Return-Wertes und dazugehörigen NULL-Anzeigers.

Der Aufruf funktioniert nur deshalb, da in ILERPG die Anzahl Parameter beim Aufruf nicht mehr geprüft werden. Es können zwischen 0 und 255 Parameter übergeben werden.