Возникла такая мысль, а что если неработает потому-что вы не переменную типа char туда посылаете, а ссылку на элемент массива типа char. Что если сделать локальную переменную и ее пытаться заслать:
Код:
Var Ch: char;
...
if key=#13 then
Begin
s:=SndTxt.Text;
for i :=1 to length(SndTxt.Text) do
begin
Ch := s[i];
Telnet.SendCh(Ch);
Application.ProcessMessages;
end;
Telnet.SendCh(#13);
sndtxt.Clear;
end;
End;