I think that you for the immediate time, if she comes, and she is behaving poorly, tell her to leave. Don't turn it into a fight--just say "If you're going to say nasty things or fight, you are not welcome here." (Make sure your DH is on board and can help "escort her out").
Then, if you want to try to "mend fences" or get to the bottom of the problem, afterward, you might want to sit down with her individually at a neutral location (restaurants are good, because most people don't want to cause a scene). And sit down individually with other family members; explain to them that the kids are hurt and don't understand why the adults, who are supposed to be modeling how to get along and move past problems are unable to do so and are instead hurting the kids and each other. Don't be accusatory or judgmental.
Otherwise, if you don't care to try to mend fences or find out what is the underlying problem (because it may not be you, or something you can "fix"), just let it be known to all the family that you'd love for them to participate in your kids lives, and that they are hurting the kids by not doing so, but that it is there choice. And that bad behavior won't be tolerated at any of the get-togethers.
Good luck.