I think you need to put some trust in yourself and some trust in your son. I'm sure it's hard to trust again after being betrayed, but remember that there were TWO people involved in the betrayal, your ex and your "friend."
Please trust yourself that you are the best mom that your son could ever ask for. Trust that you are doing a wonderful job raising him. Trust that you are guiding his footsteps.
Trust your son. Trust in his love for you as his ONE and ONLY mommy. Trust that when he's over there that he treats his stepmom with love and respect. I know you don't like her, but he has to live with this person when he's with his dad. You are only making things harder for your son by putting restrictions on her watching him, or him having any kind of feelings toward her. Yes, he's there to see his daddy so his dad shouldn't be shirking his duties, but think of how hard it must be for your ex.
My husband had some animosity toward his ex wife's boyfriend and how his daughter acted toward him. He didn't want ANYONE trying to be her daddy. Well, that just made things awkward for her. She'd stiffen up when the two of them were together, she'd get quiet and she'd look very confused. Sometimes we all had to be there for her school events. If anything it made things horrible for her.
You can hate the woman all you want. But for the sake of your son, put it aside. If you need to talk it out with a professional, do it. Right now my husband, his ex and I, the stepmom, all get alone wonderfully. We all go to my stepdaughter's events and there's no weirdness. Not only is she so very happy, but we all have found it's easier to live life with forgiveness.