Since this is more efficient, perhaps time should be spent replacing calls to Magnitude() in member functions with the exact calculation instead of going through the function.

That would not only remove some function overhead but also cut out the three additional floats that are created in the existing implementation of Magnitude().