What would you do with MIL?

I need some advice on how to handle this situation. My MIL and and I had a huge argument today. It lead to her calling me names. We don’t have a good relationship. A couple years ago she helped us out financially. I was very grateful, but I guess she took it as if she could say whatever she wanted to us. She even said something negative towards my daughter. We didn’t ask her for her help, she offered. I can understand her frustration with helping us, but she told us she was fine with helping us. Now still at two years later she’s continues throwing it in our faces, and is making us pay her back. Which is totally fine. We will definitely pay her back, but the way she was holding it against us needed to stop. It’s was starting to piss us off. I told her that it wasn’t a good idea for to see our daughter until she stopped being that way. She started call me sick, a bitch, and more. She even told my husband that she raised the wrong child, and wished she raised his brother who she gave up for adoption.

Now, I will always respect her, and be thankful for her helping us. Not once was I disrespectful to her, but her being nasty had to stop. Now I’m not so sure if I did the right thing by telling her she couldn’t see our child. All she really cares about is money. She even told my husband that she didn’t really want to see our daughter. As a mother I’m having a hard time letting go what she said about my daughter, but I feel like I have to put up with her because she helped us. My husband agrees with me because of the person she is. He had a hard time with her growing up. They argued too because she was calling him names as well.

What would you have done/do?