After your SWH, Don't make an excuse. You do not have to make your MIL understand. If you don't want to go, don't. Both the diarrhea and the too far for little one sounds contrived. I can think of arguments you MIL could make. I also suggest she feels hurt because she thinks you should still come. The excuse and the not going is a double whammy to her ego.
Over the years I've learned that being honest with myself. You don't want to go. I suggest your husband tells his mother that you're not going. She doesn't need to know why. Be direct and clear in conversations. When we try to be nice the conversation becomes chaotic. Say what you want. Don't expect other people to know what you want.
//////////////////////////
Others can only "make" us mad only when we let them. A part of the reason for your MIL'S drama is you defending yourself. Teach yourself to either listen without making a comment or to not listen or talk to her.
I suggest your MIL has the right idea. Don't engage with people who negatively affect our life. Don't go. Have your husband tell her you've made other plans. She asked your husband. Let him give her the answer. I also suggest that communication should be done by her son. It's reasonable for you to back off from this relationship and for him to do the talking.
I suggest you consider why she gets to you. She is pushing your buttons. Why do you feel that you have to defend yourself. I wonder, just as with her dress at your wedding, you believe your relationship with her should be different than your relationship is now. Know it takes two people to form a relationship. I suggest she's not doing her share in your relationship or her relationship with your children. So......stop trying to change her. She won't change.
Yes, it's good for grandchildren to have a healthy relationship with their grandparents. Sometimes it's better to not have a close relationship. I also suggest that it's the grandparents responsibility to make the connection. Allow the children to see the grandparents. The only role you have is to make the children available at appropriate times.
I suggest that if you do have to talk with her, don't respond to her anger. Above all don't defend yourself with her. When we become defensive we're allowing the other person take away our power. I suggest that when you lose as you do with your MIL, you will be angry. If you can accept that you're a good person doing the best you can, you will take back your power. It's not your responsibility to make her happy. She's a mother figure but not your mother. You're an adult capable of making decisions even when your MIL disagrees.
Some examples of mature ways to handle two of your situations. Dresses for the wedding. Be firm and direct by saying please don't wear a black dress. Repeat as necessary. No excuses. It's enough that you want this. Just say please don't wear a black dress. Be firm in saying "I prefer (the one you liked). Please wear that one." From what you wrote I think that you gave hints. She didn't pick up on them.
For the party say something like, I'm sorry. I must've misunderstood. We won't be able to come over today." Said in a confident way. Saying I'm sorry is a socially nice thing to say. And when we give a reason we're setting ourself for the other person to try to change our mind or say nasty things. KNOW you have the right to ask for what you want. You make your decisions based on your's and your family's needs. You're not responsible for making the little girl happy. You don't need to apologize past the socially expected sorry. Especially with people like your MIL.
I urge you to read about co-dependancy. It's a condition in which our happiness depends on other people. This will help you understand that you don't have to have your MIL's approval to be happy. Making ourselves happy is our responsibility.
Let go of your hurts. You're keeping your pain alive by going over and over it. Let go of your pain and of your need to have others' approval.
I suggest that to not be a door mat one has to have confidence in themselves and their decisions. The only person who needs to know they aren't a doormat is you. By texting her you were still playing her game. To say we can't come over today is where your strength lies. Say i'm not able to come over should be the end of conversation on that topic.
Your son is on the spectrum. It's too bad your MIL doesn't understand. Any amount of talking will not change her mind. So....stop the conversation. You're in charge of what happens in your house. Often, when I want more information or when I offer unsolicited advice, my daughter says " drop it Mom. We're taking care of it. Sometimes she's more blunt and says in a mostly neutral voice, "It's none of your business." Took both of us a year or more to find a way to talk with each so that both of us weren't feeling hurt.
BTW I worked graveyard for several years. Even when I worked the night before, I made all holiday events with my family. Graveyard is just an excuse. He doesn't want to go either. A phone call saying we're not coming over this year is direct. Making excuses let's us off the hook when we believe we have to make other people happy. We become unaware of what we want or need.
Sorry Mom, we won't be coming over this year. Our parents should not be involved in our lives to the extent they have to have details.