I wonder if MIL doesn't eat shortbread at home, either for health reason (sugar, etc); diet reasons; or like me too often, just not bothering to make something for myself at home.
Then the shortbread is a treat for her as well, and she may not consciously realize HOW MUCH of her granddaughter's 'gift' she is actually eating. (Kind of like the 'if I don't order dessert, it doesn't count if I eat half of yous' mindset?)
Doesn't make it less rude in general, or less upsetting for a 3 year old (or a 33 year old, I assure you). And I like the idea of asking her to either have a separate container just for the granddaughter, or to not call it a treat for granddaughter specifically. I also like the idea of Grandma and Granddaughter making shortbread together.