Seemed to be an easy fix, all you need to do to make it work again is to remove the strange check for finalSpacingX being negative before addition of spacing to width (which, for some reason, is only done for non-symbol branch). It's located in NGUIText.cs at line 1015. I changed that line like this:
// if (finalSpacingX < 0f) w += finalSpacingX;
w += finalSpacingX;
Which made everything work like it used to, as far as I can see:
Am I missing anything? What was the reason for disabling spacing influence on spacing values above zero?
P.S.: It's probably worth checking for character index and not adding spacing to the outermost character to prevent widget border growing needlessly on the outer edge, will do that next.