Hola.
Aparentemente, el problema no te lo está ocasionando Firebird. Hice dos pruebas diferentes con el valor 90 y en ambos casos el resultado es 1.
Desde el IB Mananger
Código SQL
[-]
SELECT CAST((90/60) AS INTEGER) AS HORA FROM RDB$DATABASE
Resultado: 1.
Desde Delphi:
Código Delphi
[-]
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT CAST((CIUDAD_ID/60) AS INTEGER) AS HORA FROM CIUDADES');
IBQuery1.SQL.Add('WHERE CIUDAD_ID = 90');
IBQuery1.Open;
ShowMessage(IBQuery1.FieldByName('HORA').AsString);
Resultado: 1.
En los dos casos me aseguré que el operador 'TIEMPO' tuviera el valor 90. El campo CIUDAD_ID es de tipo INTEGER.
Realmente no sé por que te arroja ese resultado...
Un saludo.