There are several possibilities here. Since the message ends in DLQ, then we know that the problem is on the remote side. If your app generated 2035, a message will never be posted.
This means that MCAUSER in the CLUSRCVR channel is a problem. For it to work, it must have the following (suppose MY_MCAUSER is in the mqmmca group):
setmqaut -m QMREMOTE -g mqmmca -t qmgr -all +connect +inq +setall
setmqaut -m QMREMOTE -g mqmmca -n 'LOG.TRANSACTION.IN' -t queue -all +put +setall
setmqaut -m QMREMOTE -g mqmmca -n 'SYSTEM.CLUSTER.COMMAND.QUEUE' -t queue -all +put +setall to your 2035, the channel also needs setmqaut -m QMREMOTE -g mqmmca -n 'SYSTEM.CLUSTER.COMMAND.QUEUE' -t queue -all +put +setall
just to work in a cluster. Depending on your version, the MCAUSER channel may also require access to SYSTEM.CHANNEL.SYNCQ (v7 options).
An easy way to say for sure is to allow authorization events.
ALTER QMGR AUTHOREV(ENABLED)
Authorization events inform you that the crash, the crash of the object (QMgr, queue, etc.), the API call and the parameters used.
Then install SupportPac MS0P in WMQ Explorer. This will cause the binary PCF event messages to be formatted in a readable form, and it will be really obvious what the problem is.
In this case, it is likely that either a) MCAUSER is missing + setall on QMgr, or b) it is v7, and MCAUSER does not have appropriate SCSQ permission, as indicated above.
T.Rob source share