C.L.
Trust me, I am in the SAME boat! My MIL sells Reliv and all I hear about every time they get an antibiotic for an ear infection or some tylenol for a fever is how wonderful Reliv is and how it would heal their bodies faster than the antibiotics. Well, I did research and the first two ingredients are soy and chalk--no joke! I am not feeding my kids CHALK (the baby eats enough of her sisters' chalk herself LOL).
For a LONG time, I was too shy to stand up for myself. Then I realized, it's not me I have to stand up for, it's my kids. YOU are her mom. God placed her in YOUR arms, not hers! Tell her that "Mama B" confuses your daughter and find another solution to that mess. It may not be "grandma" but it can't be Mama or a deritive. Tell her you came from a public school and you're just fine (if you did, that is) and that you trust your parenting skills and your daughter's intelligence will be an asset in her school days and she'll come out to be a lovely young lady. Say "Thank you for being concerned about her but we are making decisions that are the best for her and for us as a family."
As for being a bad mother , I get that all the time,too and I am a stay at home mom!! We're never perfect for the MIL. It's an unfortunate side effect of marriage. When she says it again, say "I know I am a good mom because....." and give several reasons. It's good for your soul to remind yourself of these things from time to time anyway! My kids are smart beautiful healthy well-mannered compassionate generous...these things don't come from bad parenting! Working doesn't mean you're a bad mom..your daughter gains a lot from seeing you work--work ethics, dedication, reliability, and whatever the qualities are for your specific job!
If she continues still, have your husband deal with her. She is his mom. My hubby had to finally step in on my behalf and stand up for me.
Good luck!