Esto se debe a que está utilizando el tipo de base de datos flotante.
Float no debe usarse para representar valores que requieren precisión, ya que se almacenan como aproximaciones, diferentes manipulaciones pueden dar resultados diferentes.
En el servidor sql, puede usar tipos de datos decimales y numéricos para precisión numérica:http://msdn.microsoft.com/en-us/library/ms187746.aspx