I was just curious but is it possible to avoid adding a DiscourseEvent trigger and just add a model callback which checks when the category_id has been changed?
When one of the replies is marked incorrectly as the correct answer, then the admin sees that the category is wrong and moves the topic to another category. The marked replay is still displayed as the correct answer, even if this feature is not enabled in the new category.
In these cases, the admin can not cancel the marked replay. It should change the category to where this feature is enabled. Cancel the correct answer and change the category again.
It would be a little easier if managers could cancel the correct answer in all categories (even those with this feature turned off).