Agree with ginger. He should be evaluated by a Vet. It may be that possibly just some daily Pepcid will help but I'd certainly have him checked out.
It's very possible he ruptures tiny blood vessels probably in his throat with the retching. But a refusal to eat for hours afterwards shows he must feel some nausea or pain. The best plan I think is to take him to a vet, and schedule a gastroscopy (where they put a camera down his throat to take a look at esophagus and stomach etc.) Of course he'll be asleep while they do this.
At least, if this is done, and nothing is wrong, then you will be able to approach his problem from a different angle.