Because she is baby sitting for free I suggest that you find a way to pitch in on the gifts. What you pitch in now is really a whole lot less than you'd actually pay her if she were a stranger babysitting.
And stop comparing what your parents do with what she does. Each is doing what they're able to do. There is no way to accurately make a comparison.
I suggest that she is feeling hurt and unappreciated. I would bend over backwards to show my appreciation in any way possible. I suggest that you follow Pam R.'s advice and do these small things for her throughout the year.
For now, I suggest you pitch in on the gifts, apologize to her for not showing your appreciation in a way she could understand and begin praising her whenever there's a legitimate opportunity to do so. Don't be fake.
I've not read them but there are a few books out entitled The Five Love Languages. I suggest that you're not speaking her love language. Forgive yourself and forgive her. Communication hasn't been good. Apologize and start over. First find a way to let go of your anger. You can be in control of your own feelings.
Later: It is a pleasure to watch my grandchildren. I'm no longer babysitting and I tell you it's even more of a pleasure to have them for a few hours every week. I have each one overnight one night/week and do enjoy it. My daughter doesn't need me to do this and I don't expect any gifts but she and my son-inlaw still thank me profusely, invite me to dinner often, and give me gifts on Mother's Day, Christmas, and my birthday.
I'm surprised a mom doesn't recognize how much hard work, both physical and emotional, it is to take care of a toddler for several hours, 4 days/week. I've done that. It's not much fun. It is not a privilege. It's a gift to my daughter and her children. It's being a mother at a senior age with less energy and strength. It's having responsibility for young lives without any power to go along with it. The parents make the important decisions that form the child's behavior. It's not spending time with friends or traveling. It's unpaid labor.
I'm only hearing your side and because of the way you word your complaint I tend to take your mil's side. She's ungrateful? Ungrateful for what? That you came to her house for dinner? It's her day. Why should she have to fix dinner for her son? You brought dessert. That's good manners and nothing special for Mother's Day. And...she has time to watch your children but you don't have time to make a homemade card with the help of your children. (It takes maybe 30 minutes.) Although I don't agree with making hints, I can understand why she does it. When I don't get what I want/need, I don't hint. I come right out and say, "I would like for you to take me out to dinner." I've learned that much of the time the only way we get what we want is to ask for it.
You didn't do what she expected and she's telling you about it. Perhaps in a cranky way but at least she's being honest with you and giving you an opportunity to please her. And you get mad and argue with her. I suggest she is not asking for a gift. She is asking to be recognized in some way, a gift is one way to do that and you didn't think of it on your own.
I want to say that it does sound like she may be demanding and it's quite possible that she's unreasonable at this point. I would still like you to look at it from her viewpoint. She is giving you a valuable gift and because you do not sound like you appreciate it, I suspect she feels unappreciated. I would expect you to go out of your way to find a way to make her feel appreciated even if she's a complainer or perhaps because she's a complainer, like you. I suspect the reason you don't get along is that your personalities are similar. That is what psychological studies, done over the years, have shown.
We get most upset at people who are similar to us, who do things we don't want to acknowledge that we also do. She feels unappreciated and deals with it with anger. You feel criticized and deal with it with anger. Anger never solves a problem. Only compassion. And each one of us is responsible for how we deal with problems. If we wait for the other person to forgive first it's rare that anyone forgives and the hurt feelings continue to build on both sides. Be the bigger person and try to understand and show compassion for the person who is providing big time for you. As you said, if she doesn't you lose your house. That's a whole lot to be thankful for but you didn't make a point of doing something special for her. And......you expected/allowed her to make dinner for your husband. That does not make it a special day for her.