Bug report for Mega Evolution behavior when fainting (and kinda Revival Blessing).
Currently in Showdown, when a Pokémon Mega Evolves, faints, then is revived by Revival Blessing, they come back in their mega form. This is relevant to National Dex formats; see
this replay here.
This behavior is incorrect. In the games where Mega Evolved Pokémon are present, they are reverted back to their base forms upon fainting.
I broke out my old dusty 3DS to record this. Notice that Alakazam is reverted from Mega to normal upon fainting, and is regarded as non-mega Alakazam while fainted and upon being revived.
Now, I know that the in-game Revive item and Revival Blessing are not the same thing, though they are exactly the same in function. However, that should make no difference. There's no argument that Revival Blessing could possibly retain Mega Evolution when the Revive item wouldn't, since it's not the Revive item that reverts the Pokémon back to its base form, but rather the act of fainting. Revival Blessing should be targeting a base form Alakazam or Charizard, not a Mega Alakazam or Charizard.
I think what happened here is that while the "Mega -> base" reversion upon fainting has been a thing since generation 6, Showdown's developers had no reason to implement it since there have been no means of reviving Pokémon in competitive play until Scarlet and Violet. When Gen 9 Natdex came around, the fact that Mega Pokémon are reverted upon fainting got overlooked, allowing Pokémon to be revived while still Mega Evolved.
According to Bulbapedia, Ash Greninja and Ultra Necrozma also revert to their base forms upon fainting. I'm not sure how these are treated in Showdown, but those might be worth testing as well, and there might be other form reversions that may have been overlooked (Zygarde Complete? Minior? Eiscui? I dunno).
BUG STATUS: CONFIRMED - Legality