Does *status or %status give you any details?
I’m a bit confused. You say you’re using CALL(E) to call a *CMD. But you can’t call a *CMD with CALL. The CALL statement is for *PGM calls. So you are most likely calling a *PGM which in turn is running a *CMD. If the CL *PGM has a MONMSG following the *CMD (or a global MONMSG) then, from the system point of view, there is no error. Your MONMSG says you are handling the situation.
Can you provide the source for your CL *PGM?