fastpho, mirando el prototipo C de la función, vemos:
Código CPP:
int getPrinterStatus( void )
int - es el Integer, equivalente a PIC S9(9) COMP-5 y es lo que la función devuelve.
void - quiere decir NADA, o sea que no hay parámetros a pasar para esta función.
Ahora, viendo cómo lo haces tú:
Código COBOL:
CALL FUNC WITH STDCALL USING BY REFERENCE CODIGO-CmImpresor.
Le estás pasando un puntero (la dirección del campo CODIGO-CmImpresor) y por el contrario no recibes el valor Integer que devuelve dicha función.
La forma correcta de llamarla sería:
Código COBOL:
CALL FUNC WITH STDCALL RETURNING CODIGO-CmImpresor.