Most creatures can fly in heavy armor but mounts can't
The Player's Handbook on Barding, Medium Creature and Large Creature says, "Flying mounts can’t fly in medium or heavy barding" (131), but, more importantly, the Monster Manual in its glossary on Movement Modes under fly says, "A creature with a fly speed can move through the air at the indicated speed if carrying no more than a light load…. (Note that medium armor does not necessarily constitute a medium load.)" (312).
Thus, with regard to armor and flight, the game makes a distinction between mounts—creatures presently allowing themselves to be ridden by other creatures—and creatures not being used as mounts.
However, because the Monster Manual is the primary source on creatures, I give it precedence and assume that the 3.5 revision accidentally overlooked revising that line in the Player's Handbook. The 3.5 revision added to the Monster Manual that parenthetical reminder text, making this reader think that it's the load that prevents a creature from flying and not the armor type. So, in my campaigns, armored monsters can fly no matter what kind of armor they wear as long as they aren't carrying more than a light load, but another DM might still want to use instead the printed rules.