Udp.beginPacket() time delay problem

If the destination device is on your localnet (same subnet), the source device will try to pass the packet directly to the destination device, but if it is not there to take it, the packet is dropped after a few seconds.

So, from what I understand from this discussion is that there is really no way around the delay in Udp.beginPacket() if there is no device to listen to it on the other end (without having to go in and modifying the library files). One thing though is that you would expect Udp.beginPacket() to return 0 if it fails to 'connect' to the receiving device but what I noticed is that it always returns 1. I can see the code in the library files where this is set but logically, shouldn't it return 0 if it fails to 'connect'? The Arduino website documentation indicates that this function does not return which I guess is not correct.