SOLVED I found that the older library I was using for the initial code returned a boolean for the read indicating whether or not data was still available in the register. In the newer mysensors library, I could change to use done = !radio.isAckPayloadAvailable(); and everything is now working.