If she says something again (which there's a substantial possibility she will), I understand that you don't want to be rude, but you might want to think for a few minutes about what 'rude' means to you - seriously. For me personally, I don't give a flip being 'rude' - because I define 'rude' to mean anything upleasant that I know will make someone feel bad. I think sometimes things need to be said that might make people feel bad - telling someone the joke they just told was racist and inappropriate tends to make them feel bad, but the alternative is just to stand there and smile uncomfortably. (Remember how I said I was definitely a confrontational person?

)
However, I also make a point not to revert to 12-yr-old ish comments, like in this situation - 'well you're overweight too, so shut up!' - just because I think that would bring you down to her level. Although insinuating it could be fun

.
You've got to take control of part of this relationship, let her know what is and is not acceptable for her to say to you. It's just like a child - if you never put down boundaries, the child/mother will go just as far as she wants - they go just as far as they feel they can get away with.
Anyway, some practical suggestions for you to arm yourself with for next time you see her:
make a decision not to talk about weight with her. This is probably your safest course, and easiest to maintain. If she starts talking about it in the abstract, or about herself, or whatever, you can just smile and nod, with non-committal 'um-hm's. If she says something directly about your weight, or your mother's (I still can't get over that), or asks you a specific question, tell her once, very simply, that you aren't comfortable discussing you or your mother's weight or size. She'll probably then act incredulous, and act as though you are being silly, paranoid, overreactive, etc about the subject. Just keep absolute cool. (Notice here, that if you keep cool and she takes issue, you clearly have the high moral ground). Just repeat, again simply and directly, that you just aren't comfortable discussing it with her. If she continues to insist, and perhaps brings up the fact that you've discussed it before, you may decide to say (and this has to be said simply and unemotionally to be at all effective) that you've realized that discussing it with her doesn't tend to be a positive experience for you, and so you've decided that it's best to talk about other things. Offer a different subject matter at this point so she has an easier out, but don't be surprised if she doesn't take it.
What this does, and you should be prepared for this, is bring the uncomfortability of your last conversation into the foreground - and it requires her to actually START a fight if she really wants to get her licks in about weight. This is a double-edged sword, of course - I realize you might be thinking 'but I don't want to fight.' And that's to your credit - but the alternative is to allow her to get her licks in even in the course of 'friendly conversation.' Don't roll over and let her trample you. The fact is, she's much less likely to go for the explicit, less likely to start a fight.
If YOU set your boundaries CLEARLY, and she INSISTS on crossing the line, then you are completely justifies in calling her on the carpet for it.
Now if you decide you can discuss weight with her, but only a little, or only certain things, that does make it a lot more difficult. As I said, she's like a toddler. If the boundaries move, or are vague, the toddler's going to get frustrated, confused, and angry. And is going to keep testing the boundary because they don't really understand where it is. I would suggest making it simple for her - no discussion of weight/size at all. Talk about the history of the Vikings, or the art of basketweaving - anything but weight.
And just to repeat what's been said - you are GORGEOUS. And you should hear that.
BTW - Thanks OHD for appreciating my earlier tactics! I don't usually *start* fights, but I'll call them fights when that's what they really are!