First off, take the pillow out of the crib. Nice idea, but it's just not safe. His vomiting is from having cried so much, but he still could possibly be in pain of some sort. Maybe his diaper is pinching or too wet?
Secondly, have you tried feeding him? Babies that are hungry will NOT sleep. He may be going through a growth spurt and just needs his little tummy filled.
When my 9 month old (who also slept through the night since 3 months old) started doing this a while ago, this is what I found worked:
When he started to cry, I would immediately pick him up and bring him into bed with me. I did not speak to him. Just in case this was a ploy of some kind, I wanted him to know that night time is NOT for socializing. He would usually fall right back asleep and I would let him lay there sleeping for about 10 minutes, before transferring him over to his bed. If a couple of tries of this did not work, then I went to plan B.
I would offer him a bowl of cereal followed by a few sips of water, change his diaper, and put him back to bed. All the while trying to not speak at all, and if necessary speaking only in a whisper.
If this did not work then I would pick him up, put him in his carseat, and just let him sit there in the dark, in the same room as me. This was always a good time to go on the computer

. It would keep me awake and eventually he'd fall asleep. Again, I would let him sleep there for at least 10 minutes before putting him back in his crib.
Hope this helps!