Support for minScale and maxScale has beend added very recently.
So I would need to know which version you are using?
That being said I don't reproduce your issue with the latest version (see screenshot).
Another question : how and when is populated your LayerInfoArray?
The array in a dynamicmapservice layer is called 'Layers', in your watch window it's called 'LayerInfoArray' so I guess it's not the same and the issue could come from the copy.