Hola Nicolás.
Estuve mirando el código e indudablemente el por qué de ese comportamiento se encuentra en el evento
OnActivate, más exáctamente en este código:
Código Delphi
[-]
...
for I := 1 to Length(RichEdit1.Text) do
if pos(RichEdit1.Text[i],'')> 0 then
Inc(c);
barradeestado.Panels[2].Text:= IntToStr(c);
barradeestado.Panels[3].Text := 'Letras: '+ IntToStr(NroCaracteres(RichEdit1));
...
Esas dos, no són taréas rápidas si se trata con archivos muy grandes.
Para probar lo que te comento, sólo encerra entre llaves las líneas como en el siguiente codigo y ejecutalo:
Código Delphi
[-]
procedure TForm1.FormActivate(Sender: TObject);
var
i: Integer;
begin
barradeestado.Panels[0].Text := Format('Fila: %d Columna: %d',
[RichEdit1.CaretPos.y+1, RichEdit1.CaretPos.X+1]);
barradeestado.Panels[1].Text := IntToStr(RichEdit1.Lines.Count);
end;
Saludos.