There have been issues in the past with MIL playing favourites and also issues with her not bothering at all with our DCs in favour of her other DGC (I won't give specific examples or this will turn into an essay!). In 2010 it all came to a head and DH decided enough was enough, we cut her off as she was basically a toxic presence in our lives. A year and a bit later I'd not long had DC2 and she contacted me wanting to making amends. DH didn't want anything to do with her but agreed she could see me and the DCs if that was what we wanted.
There have been a couple of minor issues since then. I stopped taking the DCs to her house nearly a year ago when snide 'jokes' were made about DS such as "quick, here comes [DS name], hide the toys!" (she keeps toys at her house for her other DGC) and him being a handful/tornado/wrecking ball, etc (he's energetic but no more than any other 4yo and 4yo other DGC is exactly the same but no such comments were directed at him). The day I stopped taking them there was when DGC bit DS because DS was touching 'his' (DGCs) toys. DS immediately hit DGC. I told DS off for hitting, even in retaliation. DGC was told "next time he hits you, hit him back, don't be so soft" 
She carried on seeing the DCs but things have gradually come to a head again. Again, I won't list example after example or this post would be even longer than it is already. She hasn't seen the DCs in five weeks, by choice and she only lives down the road, she just hasn't seem them and hasn't responded to calls or messages. Five weeks ago she made arrangements to come see them. We waited in for her and she didn't come, she didn't answer my calls when I tried to ring her, ditto texts. I was actually getting worried something had happened to her. That evening she texted to say she couldn't make it as her DP was ill. Fair enough, I thought. Except it turned out he wasn't. Instead of visiting, like she arranged, she went out for a meal with SIL and the DGCs then lied about it. She never, ever takes the DC anywhere becaus she takes the DGCs out every weekend and she says she can't cope with four. Fair enough, was my opinion, it would be better if she could maybe play turns but again that's her choice and I can't force her. Except it turns out she's been taking the two children from next door to her out all summer along with the two DGCs. In conversation she talks about her "two grandchildren" and then immediately corrects herself "I mean four grandchildren" - not just one conversation but several.
DS birthday was a few weeks ago. She didn't come to see him. Her DP arrived just as DS was going to bed, delivered £5 in a card, and left. DDs birthday is today. MIL rocked up this afternoon with cards and a relatively pricey Vtech toy.
I turned her away at the door as I finally have had enough. I didn't shout, I didn't scream. I calmly pointed out that DS got £5 and she cannot then give DD a gift worth a lot more than that. I stated that I won't have them treated differently to one another so thank you, but no thank you. DH is in agreement with this. She got very upset and said she doesn't treat any of the children differently, she treats them all the same. I pointed out that this is not the case and asked her to leave as it was going to turn into an argument with her upset in that way.
I feel like crap. I hate confrontation and usually I just bite my tongue for the sake of keeping the peace but I'm so sick of it all. Have I been unreasonable?