Is there something happening after this in the code that might affect this?
Using MinimumScale/MaximumScale sets MinimumScaleIsAuto/MaximumScaleIsAuto to False so it should be OK