This might not what you are looking for (break a butterfly on a wheel) but when i hear
robvoi:
retransmit mechanisms
I almost directly think about a nice TCP Protocol (had to Programm some Server an Client Applications :D, only not for Arduino). I know in the Arduino Wi-Fi Shield they use TCP. le Link to the Library:
socket, server_drv and spi_drv could be of interest for you to implement TCP. In the parent folders you should find examples on how to send and receive data using TCP. I think you would almost only have to change the spi_drv funktions to insteed talk to your XRF modul.