Podria quedar mejor y mas manejable tu consulta si usas parametros, por ejemplo:
Código Delphi
[-]
FreportCliente.qryCliente.SQL.Add(' SELECT codcli,nomcli,apelcli, dircli, te lcli,cedcli, fecha, estado, codzon, facturacredito, balcli, direc_envio From cliente ');
FreportCliente.qryCliente.SQL.Add(' WHERE cliente.codcli >=:desde AND cliente.codcli <= :hasta');
FreportCliente.qryCliente.ParamByName('desde').AsString :=EdNombre1.Text;
FreportCliente.qryCliente.ParamByName('hasta').AsString :=EdNombre2.Text;
otra variante es usar BETWEEN en vez de >= <=:
Código Delphi
[-]
FreportCliente.qryCliente.SQL.Add(' SELECT codcli,nomcli,apelcli, dircli, te lcli,cedcli, fecha, estado, codzon, facturacredito, balcli, direc_envio From cliente ');
FreportCliente.qryCliente.SQL.Add(' where codcli BETWEEN :desde AND :hasta');
FreportCliente.qryCliente.ParamByName('desde').AsString :=EdNombre1.Text;
FreportCliente.qryCliente.ParamByName('hasta').AsString :=EdNombre2.Text;
El error en tu query es que usas dos campos distintos en la comparacion cuando solo debe ser uno. Si traducimos a lenguaje "humano" tu query queda:
"Dame todos los registros en donde codcli es mayor al numero que te doy y el nombre sea menor o igual al otro numero que te doy"
Obviamente en esta condicion pueden caer muchos registros, por ejemplo si aplicas tu query a una tabla como esta y en Edtext1='1' EdText2='5':
Código:
codcli nombre_cli
1 Alfa
2 Algaguara
3 Bravo
4 Charlie
5 Delta
no te devuelve nada porque no hay ningun registro cuyo codigo sea mayor que uno y al mismo tiempo el nombre sea "menor" que 5...
En el query que te puse puedes cambiar el campo sobre el que quieres hacer la búsqueda sin ningun problema ya que los parametros te garantizan que se construya correctamente la instruccion SQL.