Hi SkyeFire and Domonoky,
Thanks for all!

Today I did several tests and came up with a solution.
Difficulties encountered:
1 - In interrupt, $POS_ACT PTP movement is performed correctly but when I add a PTP Px this failure occurs (Because the BAS call in the fold of PTP);
2 - The objective is to deactivate the interrupt subprogram (entrada_injetora (enters the injector)) and run a subprogram to return to Home position (saida_injetora (exits the injector)). But as mentioned by Domonoky, when call MAIN( ) in a subroutine several errors occurs.
Solution found:
Inside the interrupt is only a BREAK and set a Flag indicating the interruption was called. In the program entrada_injetora there is a GOTO soon after the moves PTP that jump to end of the subprogram, and thus returns to the program MAIN( ). Aaaand in the main program I read the Flag and call a subprogram for the movements PTP to return Home Position.

;Program Called by MAIN( )
DEF entrada_injetora( )
INI
INTERRUPT DECL 6 WHEN $IN[19]==TRUE DO saida_injetora ( )
interrupt decl 5 when injetora_auto==false do msg_alarmes ( )
interrupt on 5
...
...
...
$advance=0
INTERRUPT ON 6
PTP ;Only for example
IF Flag==TRUE THEN
GOTO END_PROG
ENDIF
PTP
IF Flag==TRUE THEN
GOTO END_PROG
ENDIF
PTP
IF Flag==TRUE THEN
GOTO END_PROG
ENDIF
PTP
IF Flag==TRUE THEN
GOTO END_PROG
ENDIF
PTP
IF Flag==TRUE THEN
GOTO END_PROG
ENDIF
PTP
IF Flag==TRUE THEN
GOTO END_PROG
ENDIF
...
...
...
INTERRUPT OFF 6
INTERRUPT OFF 5
END_PROG: ;THIS IS THE LABEL CALLED BY GOTO
END
;INTERRUPT PROGRAM:
;OBS.: This is an Expert Module, don't have INI (with INI occurs anothers similar errors)
DEF saida_injetora( )
INTERRUPT OFF 6
BREAK
PTP $POS_ACT
Flag=TRUE
;END
;MAIN PROGRAM
...
...
...
entrada_injetora( )
IF Flag==TRUE
return_Home_P( )
Flag=FALSE
ENDIF
...
...
ENDLOOP
END
;return_Home_P PROGRAM
DEF return_Home_P( )
INI
PTP
PTP
PTP
PTP
...
...
...
PTP
END
And this is all, folks!
Best regards!