Also, had this issue. You both pointed me in the right direction but I still had to fiddle around...
Here's how to fix it, more precisly:
1. In: NGUIText.cs, UILabel.cs & UIFont.csChange:
#if !UNITY_3_5 && !UNITY_FLASH
#define DYNAMIC_FONT
#endif
to:
#if !UNITY_3_5
#define DYNAMIC_FONT
#endif
2. In UILabel.csChange:
mFontUsage[mActiveTTF] = ++usage;
to
mFontUsage[mActiveTTF] = usage+1;
3. Lastly, in UIFont.csChange:
#if DYNAMIC_FONT
if (a.isDynamic && b.isDynamic && a.dynamicFont.fontNames[0] == b.dynamicFont.fontNames[0]) return true;
#endif
to
#if DYNAMIC_FONT && !UNITY_FLASH
if (a.isDynamic && b.isDynamic && a.dynamicFont.fontNames[0] == b.dynamicFont.fontNames[0]) return true;
#endif
4. VoilĂ ! You may need to re-import the NGUI folder (from the project view) by right-clicking and selecting re-import