Código Delphi
[-]if (dsCONSULTA.DataSet.FieldByName('CANTIDAD').AsFloat <= 0) then begin
dsConsulta.Edit
porcentaje := CalculoPorcentaje;
dsCONSULTA.DataSet.FieldByName('CANTIDAD').Value := porcentaje * pUtilizado;
end;
Solamente ponla en modo edición si vas a reemplaza algo, las tres líneas anteriores que tienes con edit sobran.
La consulta es editable cuando no involucra más de una tabla, en cualqier caso puedes consultar la propiedad CanModify de la consulta para saber si es editable o no. no te olvides de poner RequestLive activado.
Un Saludo.