En el procedimiento veo un error al darle formato a lblTiempo.Caption.
Los minutos están puesto con dos "N" y deben ser dos "M".
De todos modos, yo haría lo siguiente:
La variable Tiempo debe ser global. O sea, definida en la parte Private o Public del Form.
Código Delphi
[-]
public
Tiempo : TDateTime;
Justo antes de ejecutar la consulta pones la variable Tiempo a la hora actual y activas el timer.
Código Delphi
[-]
[...]
Tiempo := Now;
Timer1.Enabled := True;
Table.Open;
Timer1.Enabled := False;
[...]
En el procedimiento OnTimer, cada vez que se ejecuta, debes deshabilitarlo, por las dudas tarde demasiado en ejecutarse y se ejecute otra vez antes de terminar la primera ejecución. Al finalizar lo que deba hacer lo habilitas nuevamente.
Lo que debes mostrar luego es la diferencia entre la hora actual y la hora a la que lo lanzaste (Now-Tiempo)
Recuerda lo que dije antes del formato "hh:
mm:ss"
Código Delphi
[-]
procedure TfrmMontosFacturadosPorFamilia.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := False;
lblTiempo.Caption:=FormatDateTime('hh:mm:ss',Now-Tiempo);
lblTiempo.Refresh;
Application.ProcessMessages;
Timer1.Enabled := True;
end;
Dime si ahora, con este cambio te sale bien...