It may well be that the armour factor on flying thingies rejects too much damage. It may be code or it might be that OOB designers were too "enthusiastic"

with the protection values assigned - SSI may have designed the game to only use 1 or 2 armour points and the larger numbers were not supposed to happen - I vaguely recall that things tended to be 1 or 2 maybe 3 in the old SSI oobs, armour-wise.
Some time this summmer I think I will look at the formula for air unit armour and how it actually works. Easier to tweak the formula than change hundreds of OOB units and then massage a zillion scenarios. (I vaguely recollect that its based on the weapon WH size vs armour value, been a few years since I last looked, mind).
It may be a simple thing like giving SAMs a chance on WH size or kill value perhaps, to ignore armour value on hitting or to "boost" the local WH size a bit inside the existing formula if it is a SAM hit.
Meanwhile - the best way I have found to kill armoured gunships in the game is to cath the little beasties in the hover and zap them with either a tank gun shot or an ATGM, That probably uses a different hit code than the Flak code. So the "problem" probably lies in the Flak routine (an HE hit) rather than in the hard target hit code (AP or HEAT etc).
Meanwhile - feel free to post your views up here and see if there is any consensus e.g. "SAM and Flak, too wimpy but AP shots are just fine on armoured aircraft".