Well, I have finally taken time to write an honest fraction object for the MathObjects library. Is it in pg/macros/contextFraction.pl, which is now in the CVS repository. Read the comments at the top of the file to see how to use fractions and control their options.
It took a couple of days to work it out, but I think it should do what you need. Let me know if you find anything wrong with it; as with any new piece of complicated code, it is easy to overlook something, so there may be errors.