Little ones often love schedules, even before they're old enough to understand what the time of day means.
My son recently turned 3. He doesn't know what 2 o'clock means, but I put a schedule on the wall, and all day, I reference it. "Oh, look, it's 2'clock: nap time!" I read the entire schedule out to him, and there are several times marked "play time", "story time" or "cuddle time". This makes him love his schedule, and so when I say, "Nap time!" he goes along with it, knowing that play time comes later.
It may help to pin a schedule to the wall, showing when grandma leaves and when grandma comes home. You could add a special time for you and your son while grandma is gone. Then, you'd discuss the entire schedule with your son sometime when he was calm. It may help him cope.
Other than that, I think everyone has alread given you the best advice: if spanking isn't working, it's time to try something else.
Spanking didn't work with my first child. I switched to Time Out, and it worked great. The best part is, that child is now 16 years old, 6'1, 190 pounds, and I can still control him with a Time Out if need be. If I tried spanking him, it would be absolutely silly! (I'm 5'1, 100 pounds.) Several of his friends' parents are having a hard time controlling their teenage sons; spanking is no longer an option and they've never learned another way. I'm using the same discipline methods on my 11 month old, my 3 year old, and my 16 year old, and I have very well behaved children.
So, I went from being spanked myself as a child and thinking that that was how it was done, to not spanking because it wasn't being effective. Now, after years of not spanking, I've gotten to the point where I hate the idea of hitting my children, and have learned that other methods of discipline serve my family better, anyway.
Whatever you decide is best for your family, I wish you the best of luck. :)