Here's why:
* Breeding Mechanics: In Generation III (FireRed/LeafGreen), breeding is limited to Pokémon of the same Egg Group.
* Charizard and Ditto's Egg Groups: Charizard belongs to the Dragon Egg Group, while Ditto is a "Ditto" Egg Group. These groups are incompatible for breeding.
* Exceptions: While Ditto can breed with most Pokémon, there are certain exceptions, and Charizard is one of them.
Therefore, even though Ditto can usually breed with any Pokémon, it cannot with a Charizard in FireRed.