Many of the pilots do not want to be armed. They do not want a terrorist knowing there is a gun available in the cockpit.
I am not sure putting bullit holes in the fusalage is such a good idea at 30,000 feet.
Personally, it would make more sense to me to give every passanger a fully charged tazer when they boarded. Yes, you would be giving on to the terrorist, but tazers only work once per charge. The terrorist would then be facing a cabin full of armed people.
Probably would reduce the amount of air rage also.
A bullet hole in a pressurized cabin is no problem. Our B29's were pressurized and took holes a lot larger than .45cal. I suspect it is the airline industry that is against arming the pilots. Should a incident arise and a passanger was shot there would be another lawyers retirement plan in the works. They want the liability and expense to be on the public.