Платформенный метод "ПредопределенныйЭлемент()", вызываемый на клиенте, использует кэш предопределенных (вероятно, из файлового клиентского кэша, а уж кэш конфигурации это или кэш настроек - не знаю) на протяжении всего сеанса независимо ни от чего, т.е. результат первого вызова этого метода будет совпадать со всеми последующими вызовами в текущем сеансе всегда.
Чем это плохо? А тем, что это т.н. "логическая бомба" в случае, когда за время клиентского сеанса изменился состав предопределенных элементов в данных - какой-то ссылке справочника / ПВХ привязку к предопределенному поменяли, кому-то добавили, кому-то убрали (через реквизит ИмяПредопределенныхДанных). Привязку изменили, а твой вызов платформенного метода будет возвращать тебе - сюрпрайз, мазафака! - старую ссылку.
И нет способа сбросить кэш предопределенных на клиенте в текущем сеансе (только перезапускать сеанс).
Поэтому ребятки из БСП сделали свой кэш предопределенных (через модуль ПовтИсп) и - что важно - за значением лезут надежно: читают из БД запросом.
Поэтому становится неважно, кем, когда и сколько раз за время жизни клиента оно было в БД изменено (нужно только не забывать сбросить кэш ПовтИсп после изменения состава предопределенных). И - в случае с ПовтИсп - у нас хотя бы есть возможность программно сбрасывать этот кэш (правда только через сброс вообще всех модулей ПовтИсп) при изменении состава предопределенных, и это явно лучше чем ничего (по сравнению с "тупым" платформенным методом), т.к. тут хотя бы становится возможным обеспечить актуальность получаемых ссылок, а в платформенном - нет.
Такие дела.