I second what Lynette has told you. There definitely seems to be something more going on here other than just pickiness. Kids don't usually (although it can happen) throw up that much just because they are being picky. Especially if he has managed to get foods down, but then throws them up some time later.
Allergies should definitely be ruled out. Even though he may be throwing up right now when you feed him things other than dairy, wheat, soy and other big culprits - once their bodies get out of whack because of these allergies, it can affect them no matter what they are eating. Do ask your pediatrician for a good child allergist recommendation. Or just ask around - you don't need a referral to see one.
If his allergy tests come back negative, digestive/intestinal disorders should be ruled out. Like Lynette said, celiac disease could be another culprit. Or there could just be something wrong with the way his digestive system reacts to food - but all of these things can be figured out by seeing a pediatric GI specialist.
If this is still going on, I really would get to the bottom of it. Kids can get really sick if there is something wrong and it's not addressed.
I wish you the best of luck! I know how frustrating it is feeling like you can't properly nourish your kids! Let us know what you find out!