Generally, most kids reach the age of reason at around 6 years old. Until then, the only kind of punishment that would do much good is immediate punishment. They can't reason that they didn't get a party tomorrow for something they did yesterday. You're better off giving examples of good behaviour in the meantime, and looking at possible causes for his behaviour. If it is really much different than other 3 year olds, then maybe you should look at his diet or his environment. Is his behaviour a result of a reaction to some food he has eaten? Does he just need more attention?
I wouldn't hold back a birthday celebration for that reason. Our family usually has a small celebration (cake, usually) on the day of, but the party is often a different day or week, sometimes before or after the day. We all plan it ahead of time. Maybe you could still have a small celebration that day, telling him that you are so happy that he was born. I wouldn't even raise the subject of the bad behaviour as it really would not help at this point.
I wouldn't say you are cruel, just frustrated and not informed of other ways to deal with the problem.
By the way, I'm new too, and not from the UK. Does anyone mind if I contribute?