Would this mean that I am not allowed to write a library that emulates the winsock api? My question is this: Certainly I am not allowed to reverse-engineer the M$ networking stack, but am I also not allowed to replicate the interface?
You certainly can; and closed-box reverse-engineering can hold in a court of law too. The ReactOS and Wine projects are already doing it.
And, the part of .NET that Mono implements is a published _open_ standard. Nobody's going to sue anybody.
-- Anant