Might your decimal field is set up wrong in SQL. What you want is a
field which allows for 2 decimal places. My suspicion is that you declared the field as
(the default), which does not allow for any decimal places.
If you can use SQL Server Profiler to verify the contents of the
INSERT going to your DB, it would be easier for you to determine whether
a problem like this is due to your code or something on the SQL server.