Okay I'm getting tripped up here. I thought GUI's overlayed themselves in declaration order. Heres a scenario
In this order these GUI's are made. BackgroundA (An ImageLabel) w/ ZIndex 1 BackgroundB(A TextBox) w/ ZIndex 1 and Main (an ImageButton) w/ZIndex1
Yet Background B gets on top of main. Is there any reason in particular this can happen?
Descendants will appear in front of their parents, but GUIs are sorted oddly. Take a look at this for more info: Anaminus - On The Order of Roblox Guis