Sounds like there is a lot of pain there loco. My suggestion is to rise above it and create a teaching moment to your kids (they sound like mine frankly). You could teach them that some people judge others and expect them to live their lives in a certain way. You could say "I am sure granny didnt mean to hurt your feelings. Isn't this a great lesson for us to learn about hurting someone's feelings even if we don't intend to?" What I wouldn't do is throw granny under the bus in front of the kids, even if you think she deserves it.
Rise above, teach your kids, move on and have a nice good smoke.
Rise above, teach your kids, move on and have a nice good smoke.