If your son was being cheeky to me and getting on my nerves, I'd might say something nasty back too. Depends on what exactly your son said. If he was being cheeky and just said "you're fat", that's a world of difference from "ha ha ha you're a fat b*st*rd".
Your son needs to be educated that saying things like that probably made the guy feel the same way the kid felt. I know I was a cheeky fecking sod as a kid and back in the day, would have been clipped around the ear from whoever I offended, and then my parents after. Being shouted at and being reduced to tears is nothing in comparison.