Hello Marcelo,
Catching exceptions after 'SUBMIT AND RETURN' is a bit tricky because the calling program and the called program are in two different internal sessions.
Have you tried simply to check the SYST table (SY-MSGTY, SY-MSGNO, SY-MSGID, SY-MSGV1, etc.) upon returning back from the called program?
Regards,
Kim