O god, lots of sympathy - my DS1 (2.5) is a bugger for pushing, and has sent other kids flying. Not at all coincidentally, it had been getting a lot better and then got a lot worse once DS2 (0.5) arrived! It is a nightmare, and I too have blubbed all over people at playgroup, which is where it seems to be worst by a quite considerable margin.
I have been trying mostly to ignore or if not possible (I think at a playgroup you really have to be seen to be doing 'something' about it) just saying "No pushing" and taking him off to do something else.
It has been improving, but he is currently v grouchy with the after-effects of chickenpox and so sent a little girl flying in the park today (he's no longer contagious, btw!)
I am v thankful that all our playgroups are now shut for the summer hols, as I was really having a dilemma as to whether or not to keep going. I am hoping that if he seems OK in September, we can start going again - and I will be able to put DS2 down on the floor by then as he is now sitting unaided, and maybe give DS1 a bit more attention or intervene pre-emptively. I do get a bit of all the other mums being able to sit around chatting and drinking tea, though, while I shadow DS1 around...
I would be inclined to keep going and just keep reiterating the no hitting thing, and reinforce with as much positive attention as you can manage with a tiny baby in tow.
They tell me it does end...