Wait, i don't understand how your "timestamp" and the "verify timeout loop" are suitable for client timeouts. Server can use this technique, fixing datagram's income, but clients?
Only way see, if the server starts to send broadcast UDP packets too. Then clients will be be able to timeout due the server death.