Booyah, now we're having fun!
Okay, the explanation for Missingno. is actually kinda fun in my oppinion, but I don't understand how one thing works. When Missingno. is encountered, item #6 in your inventory becomes "infinite" (Just over 99 though, I don't remember the exact number).
Missingno is kinda crazy, in that it has 4 different forms. The most common is the backwards L style hodgepodge you have there psted by Blizzy. The others are a determined if a letter is present in the 3rd, 5th or 7th slot of your name. In the case of his Ghost form (How pokemon appear in Ghost Tower before gettting the Sylph Scope), it has to be a lowercase y. For the Aerodactyl Fossil, it's a lower case w, and for the Kabutops fossil, it's a lower case w.
What I've always found odd is that if you have a Missingno UNDER level 100 and you level it up (I did it via rare candy) it'll evolve into a Kangaskhan. Believe me, the funnist shit you can do with this is teach Missingno. "Fly", evolve it, and then transfer its ass to Stadium to have a few good laughs.
Now, the reason Missingno. Appears is actaully quite funny. First, Let's look at the data for Cinnabar Island AND Viridian City. There is no "Tall Grass" encounter data for either location. Because of this, Cinnabar Island has another abusable glitch that I use, making you able to encounter Safari Zone pokemon where you'd catch Missingno. Now, when switching between maps, encounter data will be replaced with the new map's encounter data. This doesn't seem to happen between Viridian City and Cinnabar Island though.
Now, here's where the wierd part begins. Out of either laziness or just resourcefulness of the Nintendo programmers, they decided to use the area of data where Encounter Data is stored in the RAM to temporarily change the main character's name to OLD MAN, keeping the player's real name stored in this memory area. Normally, this wouldn't be a problem though, seeing that encounter data would be replaced. Well, here's the problem. Cinnabar's coast is STILL Cinnabar Island, there is NO encounter data, so when surfing along the coast, here's where the problemo arises. After surfing for a while, it'll innitiate a battle using the encounter data thats stored. Well, the encounter data is a player's name, so the only result is...MISSINGNO.
It's in all honestly a hex-error of some sort. It is actaully fun to know that the MissingNo. Glitch could easily be compared to the Mew Glitch, with the Mew Glitch being a bit more precise in terms of screwing with hex data.
Anyone wanna ellaborate more, because I don't even full understand this.