While I love reliability, UDP is by definition not reliable. I think any steps taken beyond a simple timeout would negate the benefits of it. Even the timeout is for some practical purposes overkill .
I guess it is more sophisticated than that.
For both requests and response <8KB, if there is no lost packet, there are only 2 datagrams going through with Urr (one to server, one from it). So no efficiency is lost.
Anyway, it happily handles all possible issues like lost or duplicated or long packets.