Por lo que cuentas que te hizo en tu niñez y le está haciendo a tu hijo, no sé si es una mala persona o si tiene algún problema mental. Si lo hiciera con todos, pensaría más bien lo segundo, pero por lo que cuentas a unos os ha tratado muy mal y a otros muy bien, haciendo distinciones y preferencias. No sé cómo se le puede hacer entender que no está haciendo bien, pero en cualquier caso siento lo que te ocurrió y lo que os ocurre actualmente.
Quizás te vendría bien hablar de esto con un psicólogo para poder hablarlo, gestionarlo y entenderlo o intentar cerrar heridas. Y desde luego, no tienes que aguantar que nadie te haga daño, ni siquiera tu familia.
Yo propondría que antes de las Navidades hables con ella y le preguntes qué presupuesto tiene, para que ella te dé el dinero, tú le compres algo que sepas que le gusta y así seguro que aciertas. Otra opción es decirle tú cosas que le gustan y que elija una para comprar. Si nada de lo anterior le parece bien y tampoco quiere entender que esos regalos no son apropiados, una de dos o compras tú los regalos y haces como son de la abuela o ya no va a haber más regalos en casa de la abuela. Así lo veo yo. Seguro que hay más opciones pero son las que se me ocurren ahora mismo