Yo te aconsejo que pongas 2 TDatetimepicker para elegir las fechas.
Si quiere un registro de hace 3 años y tiene que mirar un listado de 200 lineas, no le sirve de nada. Acotando las fechas, es mucho más eficiente y cómodo para el usuario.
Siempre puedes poner un PopupMenu, combo o lo que quiereas, que automáticamente escriba las fechas en los 2 TdatetimePicker.
Además te aconsejo usar las funciones de delphi de Fechas, unidad DateUtils:
EncodeDAte, RecodeDate, MonthOf, YearOf, DaysInMonth, etc para modificar las fechas, por aquello de años bisiestos, meses con 31 dias, 30, etc.
Despues la consulta solo tienes que hacer:
Código SQL
[-]
select * from ... where Fecha between :ini and :fin
Código Delphi
[-]query1.paramsbyname('ini').AsDate := datetimepicker1.date;
query1.paramsbyname('fin').AsDate := datetimepicker2.date;
query1.Open;