There is no such thing as "set up incorrectly" in this case.
Imagine a button. Button itself is the background sprite (sliced sprite). It has a child that's a label. This one is +1 depth (so far so good, right?). But now imagine I want to add a glow effect behind this button on hover. I still want it to be a child of the button so that I can move it around and so I can anchor the glow to the button itself, but the depth must be lower than that of the button's sprite.
NGUI already increments depth by +1 every time you add a new sprite, but I will not be changing the way depth works for everyone. Cumulative depth is too restrictive.
Maybe as an optional feature, but certainly not for everyone.
Well, that's just like arguing for the case of not having inherited active-state for game objects... Of course there can be situations when you might "need" it, but that's only because you solved a particular problem in the
wrong way to begin with. In your example, you should always have an invisible widget as base (AKA frame) if you think it might change (just like designing flexible code...), and setup the button from there on. If you enforce this, all is good an more people will be pushed to create good designs.
How is cumulative depth too restrictive? Having a background in both "native" Android & iOS development, I sure see only bad outcome with your solution (hard to maintain being a huge one). It's like your trying to reinvent the wheel a little here...
And again, you introduced "Invisible-widget", and that is all you need to solve any "problems" (pretty much
everyone else does it this way). I can understand that it's a too breaking change for now (except optional), but I really can't agree with your other arguments.
But if you can't see this or it's a too big of a change, I'll settle for "Optional".
Edit. What I mean with "set up incorrectly" is that with your current solution, it is indeed more versatile but only for the bad. It's a more forgiving "okey you did wrong but it'll work anyways"-solution with the drawback that it's more complex to setup/maintain. With the one I described (again, used by Google, Apple etc.) you enforce a more strict and controlled way of setting up your UI, but can still achieve the same result.