Hola hugo_junion, añadiendo a lo que dijo duliosiloa, no estas haciendo un post por cada registro del detalle.
Código Delphi
[-]
while not EOF do begin
detalle_factura.Append;
detalle_factura.FieldByName('Codigo').Value:=FieldByName('Codigo').Value;
detalle_factura.FieldByName('Descripcion').Value:=FieldByName('Nombre').Value;
detalle_factura.FieldByName('Precio Unitario').Value:= FieldByName('Costo').Value;
detalle_factura.FieldByName('Cantidad').Value:=FieldByName('Cantidad').Value;
detalle_factura.FieldByName('Importe').Value:= FieldByName('Importe').Value;
detalle_factura.Post;
Next;
end;
Saluditos