#if !UNITY_EDITOR
if (updateAnchors == AnchorUpdate.OnUpdate || mUpdateAnchors)
#endif
Hmm? That if statement is "if not UnityEditor". Update Anchors should only be executed if the condition is set to "OnUpdate", and not "OnEnable". It behaves differently in the editor because changes must be reflected while you are not playing the game. Although it's probably best if that statement reads:
#if UNITY_EDITOR if (updateAnchors == AnchorUpdate.OnUpdate || mUpdateAnchors || !Application.isPlaying) #else if (updateAnchors == AnchorUpdate.OnUpdate || mUpdateAnchors) #endif