Is there ever a case where a comparison (equals()) between two floating point values would return false if you compare them as DOUBLE
equals()
false
DOUBLE
You should be okay to make that cast as long as the equality test involves a delta.
For example: abs((double) floatVal1 - (double) floatVal2) < .000001 should work.
abs((double) floatVal1 - (double) floatVal2) < .000001
Edit in response to the question change
No you would not. The above still stands.