Here's an idea in regards to the problem of communication between the cabin and the flight-deck. The problem is that in some situations, there must be communication between the two, and in some of these situations, the all-purpose panic button won't cut it. So put in a middle-man. Allow the cabin to contact air traffic control, and allow air traffic control to contact the flight crew, thereby allowing filtering of information being passed between the two. Certainly not a failsafe solution, as it's susceptible to terrorists finding the air traffic control frequency and hijacking that (though this would be possible already), an inside job in air traffic control, or plain old human error in what info to filter out. But it seems like a good logical step in the evolution of hijack proofing the plane, till the next step in that evolution is invented.