So what happens is for that area of coast in Cinnabar, it has no wild pokemon programmed. It just uses the data for whatever area you were last in. Usually,this is a surf tile,but you can actually catch safari zone pokemon in the wild using the same coastline.
So the reason you can get glitchy pokemon, is when you talk to the old man who teaches you how to catch pokemon, the game displays the name "old man" instead of yours in battle. But the game needs somewhere to store your name in the meantime, so it puts your name in the section used for wild pokemon data. When the tutorial is over, your name gets returned, but its data is left in there until you walk into an area with wild pokemon programmed, such as a patch of grass. But if you fly to that coast, the game doesn't get a chance to overwrite your name, so it interprets your name as wild pokemon numbers and levels. So changing it can lead to different pokemon. Many people saw the same things because a lot of them just left the name as RED or ASH.
When you see or catch the famed m-block (Missingno.), the Pokédex data flag is set to 128 for seen, or 256 for caught. Same as any other pokemon. However, since its Pokédex number is higher than 151, it looks for its Pokédex entry in your item bag, and increases the item in your (seventh? I forget) slot by either 128 or 256. =D infinite rare candies!
The whole thing is just a series of funny coincidences.