probablemente es la velocidad con la que envias los datos.
yo siempre coloco este codigo y me sale todo bien:
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var
dato:string;
begin
comport1.Readstr(dato,3);
memo1.Lines.Text:=memo1.Lines.Text+dato;
end;
tienes que seleccionar el evento rxchar y lo pones asi como te dije veras que si funciona si quieres te envio uno que tengo armado y funcionando