m.E. ist das Problem die Aktivierungsgruppe *CALLER (mit einer benannten Aktivierungsgruppe hat es ja funktioniert!). Wenn die Funktion in einem eigenen Thread aufgerufen wird, gibt es in diesem Thread keine rufende Aktivierungsgruppe.
Die Overrides u.ä. führen in einem separaten Thread ebenfalls zu Problemen. RPG ist nun mal nicht Thread Safe!

Versuch mal das folgene:
Füge in die H-Bestimmungen das Schlüsselwort Thread(*SERIALIZE) ein. Dies sollte bewirken, dass in einer multi-threaded Umgebung kein neuer Thread eröffnet wird und die Funktion im gleichen Thread läuft.
Die Funktion anschließend wieder mit FENCED registrieren und ausprobieren.

Birgitta