First I'd like to say that you have the patience of a SAINT! (waiting the barking out to greet him only when he is quiet) You have my envy.

Seems that barking is his only fault. Sounds like a very good dog.

Now, as for the vomitting, if he were a cat I'd say he had a hairball.