Hola.
No sé por que evitas copiar/pegar tu código, de haberlo echo nos hubieramos ahorrado mucho tiempo.
Otro error que veo y te marco en rojo subrayado es:
Código Delphi
[-]
Query1.SQL.Text:= 'Select * from compañia1 where compañia.fechadevencimiento BETWEEN :Fecha1 AND :Fecha2';
Tratándose de una sola tabla no es necesario calificar el nombre de columna, pero si te decides a usarlo, usa el mismo nombre de la tabla.
Salvado el error que te indico
Casimiro y el anterior, tendría que funcionar de este modo:
Código Delphi
[-]
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('SELECT * FROM COMPANIA');
Query.SQL.Add('WHERE FECHADEVENCIMIENTO BETWEEN :FECHA_INI AND :FECHA_FIN');
Query.ParamByName('FECHA_INI').AsDate := DateTimePicker1.Date;
Query.ParamByName('FECHA_FIN').AsDate := DateTimePicker2.Date;
Query.Open;
Pero... fijate que usé "
COMPANIA" y no "
COMPAÑIA" ya que algunas BD pueden protestar por el uso de la "
Ñ".
Saludos