Uh-huh. I've got it.
When the 10ANIV Pokemon were generated, they were all assigned to a collective HEX (protected, ofc, all the HEXes in the 3rd/4th gen games are protected to stop the HEX glitch being replicated), and could only be seperately identified from their Pokedex Numbers- the combination of Dex No./HEX would allow the game to then remember their event movesets.
When the magnet came within close proximity to the game, it disrupted the (in simple terms) 'flow' of electricity through the game- the quickest way for the game to overcome this is to temporarily 'blank out', and allow all the data affected by the disruption to cool down by stopping access to it (so, by freezing the game).
Now, for all the other Pokemon, which had their individual species HEX number, their individual IVs, there was no option other than to freeze the game and then wait and reload the Pokemon from the data that was already there before the game froze. However, because all the 10ANIV Pokemon were assigned to the same HEX (this was done to make it easy to copy the data across to the multiple event participants at each location), the 10ANIV Blaziken data had a quicker option- jump to the next nearest Pokedex Number in the sequence of Pokemon with the same HEX. Now, unless I've read up which Pokemon were given away at the 10th Anniversary events wrong, the next closest Dex No. was Celebi's. Now, because electricity/data always takes the shortest route unless forced not to, instead of waiting for the cooldown and reloading the same data, it 'jumped' straight over to the Celebi data. Because the only thing identifying the 10ANVI Pokemon from each other was the Dex No., that's equivalent to the species. Therefore, while the species/Dex No. (the identifier) changed, the nature/name, etc etc remained the same.