*Lurking
I think you did the right thing, although I think I would have warned her first by saying that if you don't really want these and they aren't good enough, then I'm going to put them back. If she is still acting up, then I would put them back.
I usually give a warning, then I follow it up.
Kids who are allowed to have tantrums, especially in public, and then get their way are always going to test you to see if you'll give in. If Grandma is giving her everything, then you get tested too!
My daughter has done the pounding herself and saying she's dumb when she
knows that because of her actions or words, something didn't happen, or she didn't receive something. That's a good thing. You want her to know that because of what she did and say was the reason you put the markers back. Not your fault. I have one of those too. She takes no responsibility for her own actions. So instead of being angry with herself, she is angry with me.
I just think you need to sit down with her and tell her that she's not dumb but that she learned something today. She learned that what she says has an effect. And that's not dumb, that's smart.

As far as Grandma and DH go, you can't
make them follow your rules. I wish we could. Life would be easier. But my kids know that I say what I mean. Not so much for everyone else. But they still test me too! :sigh
You did just fine Mama!

People can be unkind. That other mother either has lots of money to spend or her daughter just begged for it and she got it. Either way, she didn't need to comment on your parenting!