gosh, I really feel for you. It must be utterly horrible for you to see.
I think that as much as it's SO hard, you have to try to focus on the positive, good things he does. I do of course mean, after time has passed on this incident.
Children really respond to reward. by reward I mean soft rewards, such as praise and love and attention. Just for a little while- maybe a few weeks, ignore, at home, the shitty stuff and make an effort to actually reinforce the good stuff. i.e. every time he is doing something you like, tell him. i.e. playing quietly, reading, eating well, anything hat doesn't make you wish he wasn't yours...
Just little pats on his back, or gentle " well done Ds, thats really nice, I love it when you read nicely " etc..
He will undoubtedly be picking up hugely on the negative feeling you have towards him. Which is totally understandable too.( your feelings ) Only, it becomes a vicious cycle. He is getting attention, BIG attention, and an amazing reaction from you when he does something like this. To a young child, any attention is good to them, how ever bad it is. IYSWIM.
Take a step back, maybe even sit down and write stuff down. when was the last time he did something, however little, that was good behaviour? When was the last time you encouraged it, openly, praised him, told him that it was good.
If the only 'attention' he gets is when he's done a really horrible thing, then he will settle for that.
NONE of what I am saying is intended to sound like you don't. I am not suggesting that he doesn't get any attention from you at all and he is craving it. Honestly I'm not. I'm just being pragmatic about it. trying to break it down a little, so that you can too.
Going back to the 'ignoring' the bad stuff, of course he needs to know that he cannot do things like that to other childen. he needs 'punishing' . However there are ways to 'punish' without resulting to huge things.
Have you ever tried time out? If he does something so terrible, try time out.
Keep calm, DON"T shout and steam at him, this is such a great response to him... calmly say, that it is un acceptable. make sure your tone shows your utter disapporoval of what he's just done, tell him the same.
take him to a quiet part of where ever you are, sit him down, talk to him eye to eye and tell him he will sit there and think about what he has done.
no one will talk to him until he's sat there for 5 minutes. >He will be returned every time he moves.
when he's had his full, un-interrupted 5 minutes, go back and talk to him again, ask him what he thinks he should do. suggest he should apologise to his cousin and her mummy etc...
whilst he is in 'time out' talk to your sister explain what you are doing, ask for her support etc... ( or whoever it is )
NONE of my post is criticising you. I hope you can see that? I understand how frustrated ad upset you must be by it all.
maybe just give it a go? talk to your DH, see what he thinks. Another option, is to go to a child behavioral psychologist, ( GP referral ) and see what they suggest. Good luck, ad please, don't despair. Things will get better, given time and a huge huge amount of effort and patience.