I really don't see how you're going to stop crazy people from doing crazy things. I think a panic room style of lock down is safer. However, this will only work if you have people at the front and rear offices watching at all times. For whatever reason, we had a pretty tight security at our schools. No metal detector, but the doors were watched from 7am until 8:30. At 8:30 they were locked. If you were late to school that day without calling ahead, you were not coming to school. If the doors were breeched, an anouncement came over the intercom. The teachers locked the doors from the inside with a key. Being that most of the rooms were completely in the center of the building constructed out of concrete blocks and without any other exit besides the heavy wooden door with a reinforced slim glass window, the students were pretty safe. The key was making sure that the alarm was sound before the nut job could get to the rooms. We had drills on this, and actually had a run in with an armed person storming the school.
He was a year or so older than I was, but was not really a teacher favorite. Kind of a trouble maker, but really, a pretty good guy. However, he was always a bit...off. Finally, he had screwed up so many times that he was kicked out of the school for good. He supposedly grabbed his gun and made his way into the school to take out the principal (not the students. I honestly believe that he wouldn't have hurt anyone). Due to the lock down, he could not make his way to his target and was caught by the police. The gun was a bluff, but you can never be too sure.
I liked this guy, but i was glad to have the lock down in order. The guy ended up running drugs in our little town. Some of our local "finest" found him dead several months ago. He had commented suicide...two shots in the gut and one in the head

He got what was coming to him, but there is no doubt in my mind that he was shot in a deal gone bad. He was a big guy, and two shots to the guts probably wouldn't have dropped him. It was just easier to label it something and be done with an undesirable....sorry about the rant

He was a pretty good guy, just backwards as hell.
Jake