Segun mi logica, Costo y quizas los demas campos involucrados deben ser de tipo Integer o Float. Entonces al asignar el parametros debes hacerlo con ese tipo de dato
Código Delphi
[-]
Query1->ParamByName("C2")->AsFloat = StrtoFloat(Edit2->Text);
Saludos