Никакой мистики. У Вас неверно сформирован результирующий массив. Структура его описана здесь. Вкратце - в результирующем массиве должен быть ключ PRICE, содержащий информацию о цене (величина, валюта, ID ценового предложения, etc)
Использование в данном обработчике CCatalogProduct::GetByIDEx не может быть оправдано ничем. Он создает совершенно излишнюю в этом контексте нагрузку на базу.
Код по ссылке с Хабра - яркий пример, как НЕ НАДО использовать этот обработчик.
Не надо сверлить зубы через задний проход дрелью от Сваровски