You are supposed to create a font object for each size you want to use - no way around that. This then caches all the outline fonts as bitmaps of the size requested - remember you aren't drawing from the actual fonts each time you write text on the screen, but drawing bitmaps of each character you ask for.
[EDIT: actually it only renders the outlines to the cached bitmaps when you ask for those particular letters, not when you create the Font object]
That doesn't really work well, the same as scaling the individual #draws, since that scales the bitmap generated at a specific size; it doesn't re-render the outline font at the effective size.
OS X font rendering generally has less hinting than Windows. Rendering at 100px and then scaling to 50px will look almost the same as rendering at 50px. But you and your troublemaker system... ;)