Though its hard to remember life without a cell phone it also hard to imagine not having to complain about bad cell phone etiquette. As fun as it to complain about people forgetting to set their phones to vibrate in the movies, at dinner, etc., I propose that the solution to this problem is to fix the phone, not the user.
The cell phone is a small computer, and we should offload standard tasks to that computer, and setting your phone to vibrate in certain well known conditions is a standard task.
My IPhone for example has a build in Calandar, and is well setup to know about my Google or Microsoft calendar as well. I think my phone should notice when I'm in a calendar event and automatically set my phone to vibrate mode. How hard is that? Imagine your phone being smart enough to know when you're in a situation where a silent ring is more appropriate than an audible ring.
This approach would have the additional benefit of automating the return to audible ringing. I suspect I'm not the only one who sets their phone to vibrate before going into the movies and then forgets to turn the ringer back on at the end of the movie. I've missed a lot of calls that way. Noticing the end of an event and taking appropriate action, turning back on the ringer, is another task we should hand off to the phone.