My 2yr old gets so upset he pukes too, so I'm glad you're over that stage of it anyway.
What has worked for us is for me to pick him up and hold him so he can see my face and then mirror the intensity of his emotion and say out loud what he's feeling "You're ANGRY!" or "You're UPSET!" or "You're SAD!" I just repeat this a few times, lowering the intensity of my tone, until he calms down. If he ramps back up the intensity, I raise my own intensity to almost the same level as him, but not quite, and then go thru the process of lowering the intensity gradually.
The first couple of times it took a while to get him calmed down, but now he calms down after the first or second repetition. And the best part is, half the time when he gets upset about something and the tears start, he comes running to me and says "Riley SAD!" and gets a hug, and stops the tears all by himself! Sometimes he doesn't even need a hug.
I heard of this from Harvey Karp, author of The Happiest Baby on the Block, and the Happiest Toddler on the block. He calls it "toddler-ese" and I thought he was absolutely crazy until I actually tried it and saw almost immediate results.
The key is to mirror his emotion and the intensity of the emotion. For some reason this is the way that toddlers realize that you understand and care about what they are feeling.
(As a side note, I baby sat a 4 year old girl who would cry for long periods of time over nothing, and what helped her was just holding her in my lap every time it happened, just holding her silently and stroking her hair. But it sounds like you have tried the consoling thing, so I would start with the toddler-ese mirroring thing for your situation.)