Hola
Código Delphi
[-]Var
cfec: TDate;
begin
cfec:= FormatDateTime('yyyy-mm-dd',cfec);
QGraba.SQL.Text:= 'INSERT INTO compras (fec,paga,mon,esta) VALUES('+cfec+','+0.00+','+total.Text+',"CARGADA")';
Esto
(cfec:= StrToDate(fec.Text)
no es correcto, cfec lo declaras tdate, no string.
Saludos