I have solved this problem by supplying an instantiation of my own Encode class, very similar to the the ASCIIEncoding class in Renci.SshNet. It overrides various methods so that bytes are passed through unchanged. I did also get things working by removing the StreamReader/Writers and just using strm.Read and Write, the ConnectionInfo passed in the creation of 'client' needed connectionInfo.Encoding to be set to my encode class.
Dave.
Dave.