Cita: a lo mejor el valor en realidad no es de 7.56 sino algo como 7.56000000000000000001
Sir Matrix tiene razón. Además, no es un caso anómalo. Es un error de diseño el definir un campo que guarda un valor monetario como float. La documentación de SQL Server es muy explicita sobre los tipos de datos.
Cita: float and real:
Approximate-number data types for use with floating point numeric data. Floating point data is approximate; therefore, not all values in the data type range can be represented exactly.
Para valores monetarios deberías usar money o smallmoney los cuales tienen una precisión hasta la diezmilésima. Si no bastara con esa precisión, entonces tienes numeric o decimal. Money, SmallMoney, Numeric y Decimal están clasificados en la documentación de SQL Server como valores númericos exactos.