Forgiveness is largely about you being able to move on. It doesn't mean you keep accepting being hurt. Sometimes you can say, "I respect you as a human being and I forgive you what you did, but I will no longer accept x from you and we are no longer friends."
My SS is a very forgiving person and forgave his friend who stole Yugio cards from him and sold them. Later he realized that the boy was not his friend and he couldn't be friends with someone he didn't trust. We laid out groundrules since SS insisted on keeping the friendship for a while (like no, the kid could not play here and steal OUR stuff) and SS figured it out on his own.
You said she's made a true friend....do you think that she accepted this other girl's behavior because she felt she had no good friends? I would encourage her to spend more time with kids you like.
I also think YOU can show her how you handle the M.'s behavior. You can stand up for yourself without being rude, and even if the M. thinks you are (you'd be messing up her free babysitting), show your daughter by example how friendship works.
10-12 is a horrible time for girls. Try also not to get too overly involved in who is friends with who today. It will vary on the afternoon.
If I won a trip, I would take my child's input, but I would not take a child I didn't like or couldn't trust. Period. I've taken the kids' friends on vacations and 1. a bad kid can ruin your trip (I can tolerate one of SD's friends but she will NEVER go on vacation with us again. She was bossy, whiney and rude) and 2. you are taking physical responsibility for this child and that should not be taken lightly. If child gets a broken leg on a hike, you don't want the parents to sue you.