Вот здесь global_var, где бы вы её не форcировали, не приводит к установке в TRUE переменной result
А с какого перепугу, если перед использованием global_var в andy, вы присваиваете globar_var локальный any_var, а any_var неинициализирован, а значит, по умолчанию - false.

В общем получается, если глобальной переменной присвоено значение, все остальные просто неактуальны. В каком бы блоке она не была вызвана, действующим будет программно присвоенное значение.
Ну да. Как хотели-то ?. Она - переменная. А то что глобальная неимеет никакого значения