I was recently bitten by a bug in the .NET framework
. Apparently, calling ChannelServices.UnregisterChannel(foo) doesn't actually unregister the channel properly and close the socket. Subsequent attempts to call RegisterChannel() for a socket on the same port fail with an "Only one usage of each socket address is normally permitted" exception. I worked around it by leaving the channel open for the entire lifetime of the application.
ReactOS 0.2.4 was released a few days ago. Download it here
, or have a peek at the changelog here