Although, in practice, it might be more fair to say that floating point has 144dB of dynamic range and 24 bit fixed has 138dB of dynamic range (23 bit equivalent), due mainly to the fact that the negative swinging side of the audio signal doesn't add to Dynamic Range. Haven't thought too much about that detail though, so I could be wrong.
16/44: -96.3 dB RMS (unweighted)
24/44: -144.4 dB RMS (unweighted)
Int samples are definitely yielding the expected dynamic range.