Aunque opino también que debes dar todos los datos posibles, imagino que tu problema es que la segunda vez que ejecutas, la clásula WHERE se añade a la que ya tenías de la primera vez:
Código SQL
[-]
select bla, bla, bla
WHERE numero = 4
WHERE numero = 5
Lo que tendrías que hacer, según creo, es parametrizar la consulta:
Código SQL
[-]
select bla, bla, bla
WHERE numero = :parametro
y sustituir el parámetro cada vez:
Código Delphi
[-]
Frm_reporte.ADOQuery1.Close;
Frm_reporte.ADOQuery1.Parameters.ParamByName('parametro').Value = StrToInt(DBEdit1.Text);
Frm_reporte.ADOQuery1.Open;
// Saludos