J.B.
What a lousy situation. I like the idea of sitting him down and explaining his mother gets upset when he calls you Mama so let's come up with a special name that's just for him to call you. You never know what you'll get out of it as they can be really creative. One of my kids has taken to calling me something totally ridiculous (En-Woo, which is a sound that the little critters say at the end of Cloudy with a Chance of Meatballs). He uses it verbally, in texts, and has programmed me in his phone that way. It makes us both laugh and with his age and personality, we need all the laughter we can get. Have fun with it and throw lots of ideas out until one sticks.
FWIW we had name issues with my step-daughter when she was small and lived with her bio mom. Her mom got remarried and had more children when SD was still a baby and starting at around age 3 she began to call her step-father "Daddy" and started calling her dad by his first name. Over several years we used constant, gentle reminders that her dad's name was "Daddy" and the other guy was "first name" or "daddy first name." By the time she was 6 or 7, her dad reached the end his his rope and stopped responding when she called him by his first name and she changed over to "Dad" from that point on. So the name inflexibility might just be a function of his young age, but with some consistent coaching you should be able to get him to break the habit and use something else.
It's a shame that this is even an issue but his mother sounds petty and irrational. At this point, it's not in his best interest to continue to have him use a title that sets her off and puts him on the receiving end of her bad reaction. Have fun working with him to find something cute and special that's just for you and him!