My own theory about the whole Flying thing:

As Missingno. demonstrates, Bird was possibly intended to be a type at an early point but was scrapped. I imagine that basic birds like like Pidgey or Spearow were supposed to be Bird/Flying in the nascent stages of programming. Pokemon like Zubat, Charizard, etc. would have been Flying but not Bird (as they are now) and perhaps even Pokemon like Doduo and Farfetch'd would have been Bird but not Flying. As I imagine it, the programmers decided having both Bird and Flying was redundant (and would lead to confusion, as Pokemon like Moltres fit both the Bird/Flying mold as well as being a third type, ie. Fire) so they canned the Bird type. Pokemon that would have been Bird/Flying had the Bird slot changed to Normal rather than being reprogrammed as a monotype and Pokemon that may have been pure Bird also were given Normal/Flying. For whatever reason.

I just made this up the other day while I was on the bus and I 100% it to be stupid/nonsensical/wrong.