Nice question, made me think about what "approximate" means.
Is always true to say, as in the explanation, that because the value of float variable is approximate, it can never = 1?
It must equal some value or other and may under some conditions = 1 perhaps? Or not ? Still don't know really.
Or are we talking about the inapplicability of the equality operator ?
BTW, I think ROWCOUNT stops having this effect in versions of SQL server later than 2005