Hola hondaalberto, no he entendido muy bien tu pregunta, pero lo que creo que te falta es un begin end en el else. Como tu consulta se repite y solo cambia el campo, puedes reducir un poco tu codigo de esta forma:
Código Delphi
[-]
const
STRSQL = 'Select * From Numeros_de_Serie';
STRORDER = 'ORDER BY Codigo';
Var
Campo:String;
begin
QDatos.Close;
if (Evalor.Text = '') then begin
QDatos.SQL.Text:= STRSQL;
end
else
begin
Case rgbuscarpor.ItemIndex Of
0: Campo := 'Codigo';
1: Campo := 'Descripcion';
2: Campo := 'Numero_Inicial';
3: Campo := 'Numero_Final';
4: Campo := 'Ultimo_Numero_Utilizado';
end;
QDatos.SQL.Text:=STRSQL+' WHERE '+Campo+' LIKE ('+QuotedStr('%'+Evalor.Text+'%')+')'+
STRORDER;
end;
QDatos.Open;