Charizard is one of the few Pokémon Ash owns that temporary disobeyed him (albeit only after evolving into Charizard due to rapid evolution), the others being Pikachu and Primeape.
Charizard didn't listen to Ash because it felt like it was too powerful and to good to listen to a trainer with Ash's skill (at the time). The same thing happens in the games (if you play them). If you were to trade over a Pokemon that is at too high a level it may disobey its trainer. That's basically what happened to Charmeleon/Charizard.