If I'm not completely wrong here I think the problem is encoding.
Winsock uses ANSI as a default which in turn I believe on Windows is 1252 and you are converting your string to ASCII which is a different encoding.
Try changing your code to rather use the following:
Encoding ansiEncoding = Encoding.GetEncoding(1252);
string s = "";
char cmd = (char)'\x00C0';
char[] bData = new char[] { (char)'\x00FE', (char)'\x00C0', (char)'\x00FF' };
foreach (char c in bData)
s += c.ToString();
byte[] bitData = ansiEncoding.GetBytes(bData);
Hope this works for you, but let me know