Я бы для каждого билета, если это товар ms2, сделал кастомныое поле типа чекбокс Куплен, который по умолчанию не отмечен. Если оплачивается заказ, то плагином на событие msOnChangeOrderStatus проверяются купленные билеты и у них отмечается чекбокс Куплен. И все, при выводе билетов просто проверяешь fenom-ом например, если куплен, то не выводить кнопку, если не куплен, то выводить. И для лучшего функционала, создать еще один плагин на событие msOnBeforeAddToCart, в котором будешь перед добавлением в корзину проверять, куплен ли уже билет или нет.