Thiago:
I have seen similar issues with auto-optimization not playing well with scripting or with parametric studies, while manual optimization and field layout does work. One particular aspect is that auto-optimization does not seem to account for peak flux on the receiver, setting it to 1000 no matter your setting. Manual optimization correctly abides by this constraint.
That said, I ran your script on a new (clean) MS Power Tower, and it does appear to optimize. However, the reported number of heliostats is incorrect, while the reported area of glass is correct.It appears the code used the correct number of heliostats (optimized number), but reported the wrong number.
In similar cases I have taken the advice NREL has given you, and built the optimization into the loop rather than relying on the auto-optimization check box. Similarly, running parametric cases should be run with a looping script rather than the built-in parametric tool. Once you do this once, you will prefer this method anyway.
Chuck