Microsoft charges for changing the gamertag because they want to make sure that people don't change their gamertags too often. They also want to make sure that the gamertag is not in use by someone else.