solo como comentario apart; en la línea:
Código Delphi
[-]QRComprasXCliente.ADOQuery1.SQL.Add(' AND FechaTransac >= '+DateToStr(DTP1.Date)+' AND FechaTransac <= '+DateToStr(DTP2.Date));
creoq ue sería mejor:
Código Delphi
[-]QRComprasXCliente.ADOQuery1.SQL.Add(' AND FechaTransac between '+DateToStr(DTP1.Date)+' AND '+DateToStr(DTP2.Date)+'''');
de esta forma no tienes que validar si una fecha es mayor a la otra o no