One thing to watch out for: the default value for canOverrunFeature tends to be 80 points, which can allow labels to be placed outside of the polygon, even when you've turned on the setting that would apparently disallow this.
I would also suggest setting enablePolygonFixedPosition to "True", then set the internal zone priorities such that center is the only non-zero option, thus forcing your labels to render at the center of the polygon, no matter what.
- Josh Carlson
Kendall County GIS