C# is far easier to port than both C++ and Objective-C. There's hardly anything to it, unless the server is loaded with P/Invokes. I know many of them P/invoke OpenSSL for the cryptography, but you can replace that with

or some other. What else needs P/invoking?
The problem of endianness isn't going to go away by using Objective-C either, so there's really no benefit to starting from scratch.