My and my coworkers were fumbling over the same bug. Our environment ran in a Facebook frame. Upon first loading the page (with empty cache), the fonts rendered fine, but after a simple refresh, the fonts turned into Arial with our custom font's kerning, or something. The bug also differed from HTTP to HTTPS, where on HTTP it would work just fine.
We started messing around with the fixes described in various blog posts and this thread but we had no luck. I was dumbfounded and was ready to replace the text with images.
I then tested with caching turned off in IE, and the problem went away. So we tried turning off cache at header level. Not pretty. But it worked. The no-cache header was only set on the fonts, and it worked like a charm.