Prueba enviando cada paso al memo, para ver donde se produce el error:
Código Delphi
[-]
procedure TFMain.Com_SerieRxChar(Sender: TObject; Count: Integer);
var
Str : String;
SubWord1 : String;
Word1 : Integer;
begin
Memo1.Lines.Clear;
Memo1.Lines.Add('Inicio');
Com_Serie.ReadStr(Str, Count);
Memo1.Lines.Add('Str: '+Str);
Memo1.Lines.Add('Count: '+IntToStr(Count));
if Length(Str) >= 11 then
Str := copy(Str, 10, 2)
else
Raise Exception.Create('Error al leer COM. No han llegado caracteres suficientes');
Memo1.Lines.Add('copy(Str,10,2): '+Str);
SubWord1 := '$' + Str;
Memo1.Lines.Add('SubWord1: '+SubWord1);
Word1 := strtoint(SubWord1 );;
Memo1.Lines.Add('Word1: '+IntToStr(Word1));
end;