With what you are describing, I am starting to wonder if your dog might have bilious vomiting syndrome. It may have been triggered by his previous gastroenteritis.
Basically, in active dogs their stomachs are tiny and their metabolisms are fast.
They use up the food in their stomach very quickly, and then their stomach is empty. The stomach contains gastric acid, which is very irritating to the stomach lining, especially when there is no food to soak it up. When the stomach is empty, the acid irritates the stomach so much that the dog starts to feel nauseated. Then, he won't eat. So, the stomach remains empty and irritated. The dog then vomits - and it is stomach acid and bile that comes up!.
So, it becomes a cycle - empty stomach --> nauseated --> vomit --> nauseated and so on.
The way to break the cycle is to get your dog eating many many small meals.
Sometimes we have to give dogs with this problem an antacid to help them - common options are famotidine (Pepcid) or ranitidine (Zantac).
More about Pepcid:
And more about Zantac:
Keeping your dog's stomach from getting empty will also help to break this cycle.
This is particularly true of a bed-time meal. He needs to have something just before going to sleep in order to prevent his stomach from getting so empty overnight.
Also, it is *really* important that he eats very soon after waking in the morning. Breakfast really is the most important meal of the day, so that we can get that stomach acid soaked up in some food and prevent the stomach from getting irritated. So, even if you have to resort to a bit of bread or low-fat crackers, then do that to get him to eat.
So, in summary, it sounds to me that your dog vomits bile and stomach acid because his stomach gets irritated from being empty for long periods. This is best treated by giving frequent small meals and antacids if needed.
Here's a link:
If getting your dog to eat regular meals is a challenge, you could try canned easy-to-digest foods from your vet (I/D or Gastro are a couple of brands) or pick up some jars of human baby food. Just make very sure the baby food has no onions, onion powder, garlic or garlic powder in it. Beech Nut makes a line of baby food that has nothing but meat (beef, chicken, turkey or veal) in it.
If you cannot find this, you could find another meat baby food - just read the label carefully to be sure there are no onions, onion powder, garlic, or garlic powder in it. You could put this as a little gravy on his crunchies.
Sometimes offering the food on your finger for him to lick it off will get him started on eating. Sometimes you have to put a bit in his mouth to get a dog started.
If he were my patient, I would put him on Zantac for 5 days at 3 times daily, then 5 days at twice daily, then 5 days at once daily. I would try to get him to eat every 6 hours. This might very well solve your problem, but if it did not, I would want to take some x-rays to see if there were something else going on.
I hope that this has been helpful.