Hi Wayne - I've just seen this question and you've probably gone with the HANDLE ABEND option for now.
The RESP/RESP2 on the LINK can't tell you what happened inside of DFHPIRT - they provide generic LINK command error outcomes. The INVOKE SERVICE command is our favoured way to do all of this and would provide the proper RESP/RESP2 to allow you to work with the errors without the abend.
If you can't convert to the better option of INVOKE SERVICE (am I dropping a heavy enough hint here? ;-) ), then https://www.ibm.com/docs/en/cics-ts/6.x?topic=applications-creating-xml-aware-service-requester-application describes use of a DFHWS-NOABEND container as input to the LINK and then the DFHERROR container will tell you the outcome.