Sweet jezus, I'm so not surprised that you got on the heavier side of healthy!! You really should disown your mom!!
Those first two pictures showed a very healthy young girl. You shouldn't have been confronted with the thoughts of being fat when you are 13 and look like that.
I was bigger at that age and was a fanatic horse-rider as well, I looked so much worse on a horse...
I know it doesn't help you but I feel really sorry for that girl that had to deal with a mother like that and class-mates like that. Especially since you were open to the comments and let them affect you. I don't blame you for it, not many teens are able to let the comments slide and ignore them. Especially since your mother was the one to make them instead of loving you.
Yes, you look good right now. I understand that you still aren't happy with a few things but it's about how you feel. Do you feel healthy and happy in your own body?
On the legs, for women it's good to have a bit of fat there, it give you something that is called 'curves' and they are made to show the male population that your body is healthy to bare children. (there might of course be issues that prevent getting pregnant but in general evolutionary history, curves and a bit of fat on the legs and bum indicates that).
You should be proud of what you have achieved and realize that many are jealous of you now, including your mom!!
With turning 40 you'll get the chance to start anew. Give that big date a bigger meaning and try to see it as a new start, without the bag for of hurt from a prior life.
(I know it won't happen overnight but try, make yourself happy!)