J.M.
Honestly, I would tell your son that he has to have the traditional luncheon, but then as his "bar mitzvah gift" you'll take him and a few of his friends to something super fun and sport themed. He'll probably get a lot of $ as gifts, which traditionally all gets saved. Maybe he gets to spend a hundred or so on whatever kind of festivities he wants.
I know that it's your son's "big day," but really, it's about entering into the Jewish community (as you know, for sure). Therefore, the celebration isn't entirely about what he wants, but about bringing that community together. What's fun for 13 year olds is simply not fun for adults.
If what he really doesn't want is the dancing, skip that part. Have a nice lunch for everyone and that's it. That will free up some money that you can spend doing something fun for him and his friends.
It just seems to me that there are too many cooks in the kitchen. You know what all the moving pieces are (money, competing desires, etc), take it under advisement and make the best decisions that you can. No one is going to be perfectly happy. But trying to make everyone super happy you are making yourself miserable. My vote: have the party where you want to have it, invite the people you think it makes sense to invite, skip taking the money from your MIL, have your son come up with "plan B" that he can do some time NOT the day of his Bar Mitzvah, and pour yourself a drink : )
Good luck.