That’s weird. Have you tried using the same elements in a ScreenGUI? Again, I think it may be a scripting issue – I saw some videos on the matter and what you’re doing seems to be right.
I assume you have the SurfaceGuis folder inside the StarterGui? I just did a test and it works when I click the button on a surface gui, adorned to a part.
Hmm…
Well if it works with AlwaysOnTop, how about you try making an invisible separate part, setting the button’s Adornee to it and see if that works? Maybe it’s just some funky UI layering stuff.
If that doesn’t work, then it’s ought to be a scripting issue. Sharing the code could help diagnose the problem quicker.