You've gotten good advice. Get a secure gate lock (make sure no one can reach over the top of the gate and unlock it). Post a no trespassing sign. And get your cat microchipped. Plus inform the police that your pet was stolen and tell the parents you have taken that step.
But, one thing I haven't seen addressed (sorry if I overlooked this in any post) is: you need to talk to your son. In my opinion, you demonstrated that you will continue to put up with completely intolerable behavior (different than simply and politely overlooking an annoying but harmless habit that one of your guests may have). I think you need to tell your son that you have learned from your mistake, and that you will defend your family, your home and your pets from now on, and they can count on that. Not that you'll go ballistic and start shooting at the neighbors - just that you will establish boundaries of decency and ensure they are followed in your home, respectfully but firmly. Your little boy needs to learn how to stand up to disrespectful and harmful behavior while still acting in a dignified and mature way. I think if you tell your son honestly that you should have spoken up long ago and realize now the proper way to handle things, he will learn a life-long lesson. It's ok to tell him you made a mistake, and things are going to change. That's really important for kids to see modeled by a parent.
It is hard to speak up. But once you do it, politely and firmly, and the first time you follow up on your promise, you'll see a difference. Oh, and don't say something wishy-washy or vague like "um, act nice, ok?". Say "in this house, you will not use any curse words" or "you will not call anyone a ____" and "you will not touch the cat" and "you may politely say 'I don't want any carrots, thank you' but if you complain about the food ('this sucks' or 'yuck') then you will be sent home immediately. If you refuse to leave I will call the police". And then do it.