@RWB Is this Photon to Photon or how are you using the RFM96? To my frustration I discovered today with RFM69 difference between Arduino and Photon. For desk testing in Arduino if I don’t specify a transmit power level it works 100%, but for Photon if transmit power level is unspecified packets are only received 0% - 50% of the time when 3-6 feet apart.
I’ve not dug deeper into the ported library but I suspect in Arduino there’s a register or base default value that gets set, and in the Photon it isn’t set or set to the lowest possible value. Sorry, can’t help more with UDP vs reliable.
EDIT: RFM69 does offer options on acknowledgement, retries, encryption and error checking if that helps.