S.R.
When my daughter started crying about anything I would take her to her room and sit her in the crying chair. We started this when she was a baby. When she would cry to get her way, we took her to the crying chair, and now anytime she starts to cry she will hold it until she gets into her room and then start crying. I also do this with kids I babysit. They all know that the only place to cry in my house is the crying chair. You can also use the whiners' wall. Make him go sit by a certain part of the wall. You can even make a sign or something that designates it as the whiners' wall. I would def. talk to the Great Grandmother. She probably didn't like it when her family members spoiled her kids to this extent.
Here is another idea. One of my friends had a daughter that threw fits all the time, and one day she just sat down right next to her daugther and threw the biggest fit anyone has ever seen. Her daughter stopped what she was doing and looked at her. I guess she saw how she was acting, because she never threw another fit.