Yet few have given any suggestions on what to do, ignore that MIL just kept going anyway, made tons of excuses for her, MIL has had form for such behaviour for over 2 decades and this was the second time OP has said something about it (if I read correctly where she did it politely and the woman brought on the tears). She’s had to put up with MIL being rude to her for that long but OP is somehow on the same level for doing it twice in 20+ years.
MIL has been enabled and allowed to do this because people around her seem to have been nice but not kind. Nice to allow her to continue instead of kind and telling her to allow other people speak and it be an actual conversation, not talk at people.
What could OP have done in this situation?
MIL kept talking anyway when OP told her she had told her all this before.
Maybe OP should have gotten up and switched seats with someone if they were ok with that which would probably be seen as rude and more noticeable. If she had finished her MIL sentences, that would probably had upset her MIL and also be considered rude.
Expecting OP to just sit there and take it again when she is trying to enjoy her son’s graduation dinner which she likely planned and had to invite her MIL because she’s her husband mother, son’s grandmother is ridiculous.
Maybe next time MIL starts going on and on OP should just start talking to someone else, but oh.. would that be rude?
Being rude to her in front of your kids shows them that they too can be rude to you in future.
Sure, someone being rude to you for the umpteenth time and you telling them you’ve heard this story before is telling them to be rude to you. They probably know what grandmother is like. Her son is 18, highly doubt he doesn’t know that his grandmother does this.