Потому что ничего не стоит на месте и некоторые методы и свойства меняются, замещаются, перерабатываются и совершенствуются.
И насколько помню свойства листам и книгам можно(и даже нужно) назначать не как в ООП, а через равенство(Sheets(1).Name = "First"). А VBA уже внутри себя реализует процедуры Let, Get и Set.
Вот если Вы подобными процедурами присваиваете и считываете свойства своих объектов и переменных - то это поддерживалось и поддерживается сейчас.
Вы бы все же привели хоть один нормальный код с этими процедурами и написали, что не работает.
Все дело в том, что программа должна проверить свойство книг, независимо от их имени и прочих параметров, расширений и т.д. Если значение одно, то этот файл обрабатывает одна подпрограмма, если другое, то другая, а если этого значения нет, то- выход из программы. Также и с листами. Поэтому проще всего было и присвоить всем нужным файлам и листам какое-либо-свойство, проверяемое программой. Тем более эти свойсива устанавливаются при их создании. И в последней версии VBA их распознает, обрабатывает и работает. Проблема только в том, что при открытии файлов с данными свойствами эти свойства и коды становятся невидимыми. Почему - не понятно. Написал вручную (или скопировал) - все работает. Открываешь заново - нет.