D.B.
This is a problem because your in-laws are not training the dog. The dog thinks it is the boss and is not receiving constant correction by the owners. Unless you live with them, you cannot do this.
The dog is learning that Behavior A is no good, so he goes to Behavior B. Then he gets disciplined for that (and I'm not sure if you mean punished or corrected - they aren't the same) so he goes to Behavior C. He's trying things and all he is learning is what is NOT okay, but he's not learning who is boss (not him!). So that's what you are seeing - he just goes to the next dominance behavior instead of learning that he's not dominant.
The dog needs training - which usually means the owners need training. It doesn't have to be Milan/Dog Whispering techniques. Some people love him, but many vets and animals shelters advise people NOT to follow his techniques. I think the most important thing is to find a philosophy the family agrees on, and follow it. The dog needs consistency, so it understands where it stands in the "pack" (the family) and that is NOT top dog!
The problem is that YOU are disciplining the dog when you visit, but then time goes by and the dog does something else with the owners. There is no consistency. The grandparents need to be on top of this dog all the time, correcting it.
We rescued a dog with some nipping problems - mostly food aggression (from having been in too many shelters) and some with people bending over her (from having been abused, and from having been picked up, stuck in a crate, and abandoned several times). It took us 10 days to get rid of the food aggression, not by punishing, but by training. She had to wait for her food, sit and stay when we put it in the bowl, until we gave her the "release" cue that it was okay to eat (usually about 20 seconds but she got the message). We slowly, slowly built trust in her about the petting and being approached/bent over behaviors until she could be more trusting and understand this is a new life for her. She had to learn which toys were hers and that just because something was on the floor didn't mean it was a chew toy (pencils and pens seemed to be the big temptations but now she ignores them).
I imagine that any trainer would start with basic commands and walking the dog on a short leash. Then it would progress to others walking the dog in the exact same manner, finally going down to your son. Same commands, same expectations, same restrictions. The dog will learn that everyone else is the boss and not him. I know you are limiting contact due to safety, and that's wise. But you cannot do anything unless and until your in-laws get on board and decide this is a behavior they want stopped. Have them invest in good dog training, either at the house or at a center, that REQUIRES the owners to learn the same techniques and put in a practice schedule after class and over time to reinforce that the behavior requirements do not change no matter where the dog is. They should take the dog into other situations (traffic, crowds, new neighborhoods, other dogs, etc.) where the same rules apply. This is better for your son, for other visitors, and for the dog.