Yo te preguntaría en el componente que hace las búsquedas tienes declarados campos LookUp ó Calculados.
Hace unos días sin ir más lejos descubrí que un proceso que realizaba 137 recibos tardaba muchísimo, primero desactive los controles xxx.DisableControls y vi que no mejoraba gran cosa.
Pensé que podían ser los campos
LookUp
Código Delphi
[-]Dmclientes.IBDtsRecibos.AutoCalcFields:=False;
Coloqué la instrucción anterior antes del proceso y la contraria al finalizar y todo volvió a la normalidad.
Un Saludo.