"I feel as if I'm the sodding kid and he's the adult and I'm trying to hold back going nuclear on him"
Stop holding back. Really, stop it. It's a predictable consequence of being a rude little shit to a parent.
"I don't want him throwing a paddy infront of our relatives and making the situation uncomfortable"
Give them a heads up - 'DS is being a pain, I need to rein him in, he will kick off a bit, OK?' and then just do it. And when he kicks off, tell him clearly that the fact that he has kicked off just confirms that he is a naughty LITTLE boy.
"Sometimes his comments cut and I just walk away from him and keep my temper in check."
Don't. He's taking that as winning, and it encourages him to push again.
"it's like he just doesn't give a shit and that's the worrying thing"
He does give a shit. But he's learned that if he gives that impression, you give up. OP, you need to learn to not blink first.
You are in a difficult situation, but just keep telling yourself:
- I am the adult in this relationship
- I need to be cruel to be kind
- Do it now, it will be harder the more entrenched his behaviour becomes
Yes he will kick off. Yes you will question whether you are doing the right thing. But as it stands, with him getting worse, you must know that the tactics you are using now are not working. You need to change how you deal with him. Best of luck.