@bcdaus from what I understand, ! means failed while ? means unknown. Unknown is used when the radio hardware does not support ack at all (so there is no way to know whether the message was received by the next node)
https://www.mysensors.org/apidocs-beta/group__MyTransportgrp.html has some documentation.