Хоть и прошел почти год, у меня есть для других ищущих возможное решение.
В моем случае это была ошибка Uncaught TypeError: Cannot read property 'prototype' of undefined at Function.BX.extend
за которой шли ошибки вида: Uncaught ReferenceError: JCCatalogTopSection is not defined
Почти то же самое - перестает работать кнопка покупки через скрипты Битрикса.
Причина: не подгрузилась одна из javascript библиотек Битрикса. Причин может быть несколько, например, код вызова библиотеки был в кэшируемой области.
Конкретно в моем случае помог PHP скрипт:
// Запускать скрипт надо перед вызовом компонента, в котором возникает ошибка (или в хеадере, если точно будет исопльзование данной библиотеки на всем сайте)
CJSCore::Init(array('popup'));
Другое решение:
включение аякс режима в компоненте
"AJAX_MODE" => "Y"
Если это не поможет, то можно подключить некоторые из перечисленных библиотек (без нужды все подряд подключать не советую)
// Методом исключений можно оставить только необходимые
CJSCore::Init(array('ajax', 'json', 'ls', 'session', 'jquery', 'popup', 'pull'));