Are you sure data bind event fires? Try page load.
Talking about following approach: have you tried Kentico macro instead of using server code?
<cms:CMSConditionalLayout runat="server" id="layout1" Visible="<%= DocumentContext.CurrentDocument.GetValue("myValue").ToString() == "1"? true: false %>" >
like this:
Visible="{% CurrentDocument.MyField|(identity)GlobalAdministrator%}"