i have a theory also:
i Think that nintendo made the first 151, and had slots left over, so they filled them with random data that was stable enough to be stored, but not executed.
They may have done this to fill empty bytes, so the game wouldn't crash if it tried to execute these empty bytes, or if the player tried to cheat or glitch the game to their advantage.
Due to the nature of the programmed data, it produces advers effects, and so M', Charizard M', A. etc appear, and pixels and other defined data became warped and manipulated by this data.
Missingno. was what Nintendo used to test the battle sequence of the game, and to get it stable enough to be playable, but left it in and players found a way to execute it
So technically, neither Mew nor Arceus was the first pokemon.
It was Missingno. ...........
So yeah, your piece about how improperly formatted data was contained in the game, could be tied in with how and why glitches happen