T.C.
My son is similar, though, he's typically very easy going and gets along with everyone. But there are phases he has gone through where he cried about everything, and it can be maddening.
I tried what you did - disciplining, talking, taking a break, time outs, etc...and it wasn't working. I had family over often, and I always felt like they were looking at me like I was doing something wrong if my son was acting like this. Drove me crazy! After lots of thought and researching, this is what works for my boy:
I have to make sure he's getting enough attention from me. If I have several days where I'm busy doing something else, he starts to get much fussier and reactive to everything. And, if I change that and make sure to play with him and sit and talk with him about life in general, it seems to make a huge change in his attitude. I don't have to do it all day, constantly. Just enough to give him what he's needing emotionally (and it's lot of fun!). I don't intentionally not give him the attention he needs, but with so many little ones, I sometimes need to readjust myself and make sure I"m giving him enough time.
When he does get upset about stuff, I will hold him and hug him (if he wants it) and we'll talk about it. Previously I would often withhold that type of affection when he was acting like that because I thought it would only encourage that poor type of behavior. I would hug him if he calmed down and behaved more "appropriately". But that was wrong of me. Hugs can do wonders, even in the heat of the moment. And making comments like "you shouldn't be acting like that" or "you don't need to cry about that"...don't help! I don't know if you do that, but I did at first, and it only made it worse.
If hugging doesn't help, he does go to his "cool down" spot and can cry in there. I make it very clear that it's totally fine for him to cry and be upset. Sometimes we just feel that way and there is nothing wrong with it. And, if we are too upset to be around people without yelling and screaming at them, then the right thing to do is to go somewhere privately - get on our bed (or wherever the special spot is...and it's important to not call it time out - call it something else). I try to relate to him and validate his feelings. I never tell him how he should or shouldn't feel. I don't think it helps the situation. It just makes him feel more frustrated. If I'm able to, I will sit in there, and I'll be a listening ear, prompting him to express himself by asking him questions. He does most of the talking at that point. I do not judge or tell him he's wrong for what he's saying or thinking. I just listen and comfort. When he's ready, we go back out and life returns to normal MUCH faster than usual, AND he does it way less often.
With playdates/birthday parties, maybe talk in advance and let him know that if it's too hard for him to behave appropriately (not regularly getting upset) then you'll need to take him back home. Try discussing it in an understanding way, as well as *encouraging him* and telling him you know he can do it - he can make it through with proper behavior. Don't discuss it in any sort of threatening/punishing type of way. It really makes a huge difference. Then if he messes up and needs to be taken home, don't get upset at him. let the consequence do the talking for him. Encourage him again that you know he can do it next time, etc.
Hope that helps a little bit! Good luck.