Hola anubis.
Puede producirse por el tipo definido en la creación de la tabla o por el modo de asignación que estas haciendo al componente.
Te aconsejo usar tipos escalados en la definicion de la tabla:
Usando NUMERIC y DECIMAL.
Y desde
Delphi usar el tipo
Currency de este modo:
Código Delphi
[-]
var
convierte: Currency;
begin
convierte:= StrToCurr(preciosiniva.text);
fmodulo.zqcompras.Edit;
fmodulo.zqcompras.FieldByName('preciocoste').AsCurrency:= convierte;
Saludos