Проблему решил. Дело было в том, что товар не был доступен. Просто отключил количественный учёт у товара и всё заработало корректно. В общем, товар либо не должен быть в учёте, либо должен быть в наличии.
Не получается получить цену через CPrice::GetBasePrice