Irgendwie bleibt die interne Adresse zum aufrufenden Programm auch nach INLR = *ON erhalten.
Was du probieren kannst, ist der Aufruf per Variable.
Gib bei EXTPGM nicht den Namen sondern eine Variable an.

Wenn eine Variable verwendet wird, wird der Pointer des Programmes erst zur Laufzeit ermittelt.
Vor allem wird durch die Zuweisung der Variablen mit dem Namen der intern generierte Pointer grundsätzlich zurückgesetzt, so dass der CALL das Programm neu ermitteln muss.

Noch ein Tipp:
Verwende in Feldnamen nie @ oder #, da diese nicht CCSID-neutral sind.
Bei Portierung kann das dann schon mal zu Problemen führen.
Nimm lieber "_" wenn du Namen lesbarer gestalten möchtest.