And as soon as I hit post, I find what I needed. I changed the foreach line to:
foreach pick in hero where "EquipType.Armor & mClass.Heavy"
and that seems to have done it. Light & medium armor stay as they are, and natural armor doesn't get bumped.
For elegance, I'd like to fix the second doneif to check for heavy armor, but I can live with it as-is. If anyone has a suggestion on how to fix that, let me know!
Edit: This seems to work.
doneif (hero.tagis[Hero.EquipArmor] + hero.tagis[mClass.Heavy] < 1)
Woo, I feel all cleever.