Note: This was originally posted as a response to Larisa at The Pink Pigtail Inn in an article about faction changes.
There is a difference between problems that should be handled "in-game" and problems that should be handled "out-of-game".
Faction/race/gender changes are out-of-game changes. They are changes made because the player outside the game is unhappy, and so we choose to turn a blind eye to the impact that the change has on roleplaying or character history.
It is a mistake to try and handle everything within the rules. Sometimes, you have to step outside the rules and the gameworld, and talk directly to the player.
You see this a lot in regular table-top roleplaying forums. The DM will say that Player A's character is being disruptive and constantly working at cross-purposes to the group. Some DMs try and force the character to work with the group using in-game mechanics such as threats or magical coercion. But the proper response is to talk to the player outside the game, tell the player that he is hurting the game and remove him from the group if necessary.
Similarly, faction change is an out-of-game problem. A player wants to play with friends who are on the other faction. So they can now switch, and everyone in-game pretends that they've been Horde all along. It is an out-of-game solution for an out-of-game problem.
This issue appears with a lot of rule systems. For example, loot systems often get more and more complex as officers try and prevent players from abusing the system. But rather than altering the rules of the loot system, it's often better to talk to the players in question, and get them to work with the system, rather than playing games with the loot rules.