If a message has been learned incorrectly, what do I need to do to fix it?

The simple answer is to send the message through sa-learn with the appropriate commandline parameter set:

just as you would if it were to learn a new message. The Bayes code will automatically forget the original version and just learn the message as you specify.

You do not need to manually 'forget' the message first.