First, please update to the latest version. 3.4.8 is out of date.
Everything in NGUI 3 is based on depth. First panel depth, then widget depth. It's easiest to think of panels as directories in your operating system, and each widget being like a file in your operating system.
Files (widgets) are always located in some directory (panel), and if you have similarly named (same depth) files in different directories, they won't interfear with each other.
When sorting things, all widgets are sorted by panel depth first, then by widget depth. If you have more than one material being used under a panel, NGUI will split up draw calls in order to maintain the proper draw order. So if you have something like this:
Sprite (depth 1)
Dynamic label (depth 2)
Sprite (depth 3)
...that means that in order to draw this properly NGUI has to create 3 draw calls instead of just 2. You can reduce it back to 2 like so:
Sprite (depth 1)
Dynamic label (depth 3)
Sprite (depth 2)