Bueno, la verdad es que en la base de datos no acostumbro a redondear nada, guardo todo según lo calculado desde Delphi.
Algo asi como esta función:
Código:
function Redondeo (valor:Double; decim:integer = 0): Double;
var
factor: Double;
begin
factor := IntPower(10,decim);
if valor > 0 then
Result := (TRUNC((valor*factor)+0.5)) / factor
else
Result := (TRUNC((valor*factor)-0.5)) / factor;
end;
Y el resto de valores los guardo con todos sus decimales.