I honestly don't see why everyone is saying that Grandma was put into an "impossible situation." There was a perfectly acceptable solution here -- go to the birthday party, spend the majority of the party there, leave at an acceptably early time (ie, after the majority of the events have occurred), and then go to the anniversary party, arriving a bit late but able to stay later as well. This isn't impossible, this is normal time management. There was no reason to cut out so early on the birthday party that all the events had to be rescheduled. Just when you accept the last-minute invitation to the anniversary party, say, "Oh, we can't wait! GD's birthday party is earlier that day, so we'll be a little late, but we're looking forward to it!"
It only became drama because of Grandma's refusal to stick to plans that were already made and willingness to sacrifice her granddaughter's side of the family, something she apparently does regularly.