When I try it in a simple test, it works fine:
INSERT into myTable (dist) VALUES (123.456 ) , ( 8393892.89828)
Where "dist" is decimal(18,3)
I get the values:
123.456
8393892.898
So, it must be your code to insert it - what are you doing to insert these values?