Hola elturu15 y bienvenido a clubdelphi, te da el error porque le estas dando como valor clave y clave1 y no así lo que tienes en tus variables.
Código Delphi
[-]
Clave:=integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
Clave1:=integer(ComboBox2.Items.Objects[ComboBox2.ItemIndex]);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='SELECT P.Clave, P.Nombre, C.Codigo_Postal, C.Nombre_Ciudad '+
'FROM Provincias P LEFT JOIN Ciudades C ON P.Clave = C.Clave_Provincia '+
'WHERE P.clave between '+IntToStr(clave)+' and '+IntToStr(clave1)+' order by Clave';
ADOQuery1.Open;
Solo debes utilizar uno de los dos para ejecutar la consulta (Open o Active=True). Tambien puedes pasar valores a tu consulta utilizando parámetros.
Saluditos