An update, for my fellow bugriders: most of the problems go away when sockets are inizialized like this:
- Create socket
- Send any package to some random address
- Bind the socket
If the socket is bound before the first package is sent, you will have to deal with all the problems listed above. Please not: this does NOT fix the receiver addres when using recvfrom with a socket bound to a multicast address.