Тебе или делать нечего или сознательно ищешь проблемы там, где их нет.
При чём здесь 'защита' кого-то или чего-то. В кликере косяков... вагон и маленькая тележка. Часть реальные ошибки, часть наследие от изменений в версиях. Всё как в любом софте, ну может чуть побольше. Но то, что ты объявляешь ошибками, к ошибкам не пришьёшь ни каким боком.
Ну хочется тебе надеть на корову седло и заставить её плыть на скорость, ради бога, пробуй. Ну зачем ты это вот потом с загадочным видом называешь жуткими ошибками.
#name и любая другая хрень с # - это дерективы препроцессора. Прочитай в справке.
Препроцессор - это обработка ДО запуска кода. Код пробегается и выполняются все инклюды, неймы, замены констант и т.д. Все! По всему коду. И только потом скрипт запускается.
При работе скрипта #... уже не учитываются.
Поэтому нельзя подгрузить инклюдом в условии скрипты с взаимомешающим набором переменных.
И нельзя при помощи #name выводить 'вместо лога'.
И нельзя в этих директивах использовать переменные, потому что переменных ещё никаких НЕТ.
Вместо оседлания коровы и разговоров, что из неё спринтер ни к чёрту, почему не использовать для этого лошадь? Ведь она для этого подходит лучше. Есть же команда меняющая заголовок окна. Указываешь окно и выводишь что душа пожелает.
HSETTEXT(hwnd, "называю как хочу")