G/S did, I'm not sure about R/B. Of course you can't do it forever though, your inventory will fill up.
The ability to have more than one of a key item isn't really a glitch, it's just because every item slot has a quantity. Key items hide it and force it to always act like you have one, which is really annoying when you (for reasons I can't remember) duplicate the bicycle and have to put ~130 of them in the PC, one at a time...
Related though, R/B stored Pokémon stats in RAM and save files by simply copying the entire data block from ROM, so things that should never change such as type were in it too. You could use codes to change their types, as well as change some second ID byte that would cause strange effects. Unfortunately with G/S they smartened up and only stored the stats that could legitimately be changed; things like type were always read from ROM, so you couldn't change it with a Gameshark.
____________________