Hola.
Veo que por hacer las cosas en el aire, cometí un error al escribir la función. Y aunque añade un dígito en la posición deseada, para que este sea 5, debería ser:
Código Delphi
[-]
function RedondeaPorExceso(Numero: Double; Digitos: Integer): Double;
var
m: Double;
begin
m:= Exp(Ln(10) * Digitos);
Result:= Round(Numero*m+5/m)/m; end;
Saludos.