For a GM to cancel a game? On the day?
With good reason, then... yeah, absolutely. If they have a big test coming up, and hoped they would be more prepared, and realized they need one more night of study... your education and future career definitely trumps gaming. Having an old friend who you haven't seen in years turn out to be in town on gaming day? Again, that's a pretty good excuse.
Now, calling five minutes before the session? Yeah, not really cool. But usually you've got at least a days notice on these sorts of things, if not more. And honestly... these are your friends. If something really big is happening that you just found out about, and you call and explain things, friends will generally be understanding!
I mean, it may be that there are just completely different styles of gaming going on here. For me, it is something I do with my friends. The approach you seem to be describing sounds more like a job, and nothing would kill a game for me faster than it turning into a task I
must do rather than something do for
fun. (I learned that lesson with WoW...)
Now, if this is a regular occurence with a DM - cancelling things last minute - that seems a good reason for the players to talk with him or figuring something else out. And nothing says that a group without a DM can't have someone else step up to the plate for a night and run something random! And a DM who cancels does not have
any right to get upset if someone runs a game without him. Now, if the group ditches the DM over that one incident without talking about it, I can see that being frustrating - but again, if they already were looking for a different style of gaming, sometimes that is just the way it goes.
In the end, you can't always plan for everything. As long as a DM isn't making a habit of ditching his group - and gives them the heads-up when something is going to get in the way - then that's seems perfectly acceptable to me.