That's a tricky one.
I definitely wouldn't limit their time together. I would maybe limit the time that DS is with Granny and other people though. Let Granny enjoy him 100% when they're together and then take him home and let her enjoy her other guests.
Also, at 3 and a half he is old enough to be spoken to about his behaviour beforehand and after.
Outline your expectations for his behaviour before you get to Granny's and deal with any problems after you leave so she doesn't need to be upset. Tell him what will happen and what you expect, e.g. with the flight go through what will happen (lots of books on this), tell him that he can sit next to Granny on the plane, but that he must stay in his seat, talk in an inside voice and be polite to other people. Remind him of this several times before you get on the plane.
Tell him the reward he will get if he manages this e.g. 'when we get to the airport in Scotland I will get you a magazine to read in the car to Aunty Sarah's house'.
If he doesn't behave, wait until you are at the airport, try and get him away from Granny and explain to him, 'you didn't stay in your seat like I asked so we can't buy the magazine' (go for disappointed rather than angry). If he does behave well then make a big fuss of how well he did and get him the magazine.
Whatever happens move straight on to the next challenge (don't dwell too much on what's already happened) and the next reward, 'We're going in the car now, if you can xyz in the car, we can get the magazine at the shop near Aunty Sarah's house'.
Ultimately, it's just a phase and he will grow out of it!