So I did some digging on this...
It turns out GUI.depth only works when called from different scripts. It doesn't work when called from a single OnGUI.
Now it may look like GUI actions are called from different scripts, but under the hood PlayMakerGUI combines all GUI actions into a single OnGUI call. Most of the time this is a VERY good thing, resulting in huge performance gains, but in this case it's not so good since it breaks GUI.depth
This optimization was introduced in an update, so Set GUI Depth used to work, but now it doesn't do anything (as far as I can tell - Unity GUI seems to be a bit quirky).
I'll see if there's a way to fix GUI.depth, but in the meantime, you could:
- Draw the textures in the same state.
- Use GUITextures instead. These are easily layered with the Z coordinate.
- Or use some combination. E.g. GUITextures for the background and GUI actions for the foreground.