If you set your residence flag explosions to false, you will find that if an explosion happens nearby your item frames, all of them within a proximity of the explosion will drop their contents, yet the frame itself will remain untouched. I have also tried setting itemframe to false, as well as build. Neither of these prevent this bug from occurring, which leads me to believe it is just an unimplemented feature.