Is it possible to get rid of all the macros TO_FIXED, FROM_FIXED, mult, etc and replace them with a class with the correct constructors / operator overloads?
Then your code doesn't ever need to be aware of the special fixed point math and horrible syntax everywhere and everything just works?