Asphyre Sphinx 2 has networking component TNetCom based on UDP protocol that should cover many of your points. However, high-level stuff such as session control and reliable delivery you will have to implement yourself as an additional layer on top of it. Previously it supported reliable packets, but it was dropped since this support should be part of application layer and not TNetCom itself.