Wie heißt denn nun deine Prozedur?
EXTPROC(Prozedurname) im rufenden und EXPORT(Prozedurname) im gerufenen Programm müssen genau übereinstimmen.
Zur Compilezeit wird das Programm gebunden. Sind Importe (wie EXTPROC) nicht vorhanden, kann das Objekt eigentlich nicht erstellt werden.

Außerdem fällt mir auch auf, dass deine DCL-PROC und DCL-PI unterschiedlich sind.
DCL-PROC definiert den Prototyp incl. Parameter der vom Compiler gebunden wird.
DCL-PI definiert die Aufrufschnittstelle der Prozedur selber.
Eigentlich sollte hier der Compiler schon meckern, wenn der selbe Name unterschiedlich definiert ist.
Ggf. ist das der Fluch des Free-Compilers, dass er da nicht mehr zurechtfindet?