This is more of a gripe than a question, but why does SQL have to only work with normalized floating point numbers? If you dig in the documentation, it doesn't fail to warn you:
SQL Server 2005 Books Online
float and real (Transact-SQL)
Data type Range
real - 3.40E + 38 to -1.18E - 38, 0 and 1.18E - 38 to 3.40E + 38
but this behavior is different than the way most programming languages would handle the type. I got bit yesterday (of course, during the demo to the customer) where a unique circumstance caused very small numbers to be generated and a multitude of software processes, written in different languages, using different libraries, etc., had no trouble propagating a denormalized floating point number that was smaller than 1.17549435E-38 (which is the smallest normalized single-precision floating point number) to the SQL server interface (ADO.Net) and, of course, the server rejected it, thus causing the program to abort its operation.
So the morale is - watch your data ranges not only for large values but for small ones, as well!