Hi Swainimommy,
There are a couple reasons kids are picky eaters. Once you rule out digestive and sensory issues the ONLY thing you are left with is learned behavior - sorta sucks, but the good news is that you can un-learn this behavior.
Of course he would rather have had warm snuggly mommy over solids when he was younger... really, who wouldn't?
Lots of kids have texture issues - this is pretty developmentally normal, and something that most of them will (hopefully) grow out of. But you're going to have to "help him" learn better eating habits.
It starts with NO Sweets except on special occasions. I don't advocate using sweets as a reward - for example if you eat all of this you can have a cookie. That will just teach him that he always gets a cookie.
When my daughter was young I started an "I don't want any" portion. Others call it the "no thank you bite" or whatever you prefer. Basically it means your child HAS to have a certain amount of EVERY FOOD that is served for that meal. Gagging is an emotional response, usually NOT a physical one unless you are feeing him lumberger cheese or goose liver which are very odorous - don't be fooled by it. There is very little food that will ACTUALLY make your child gag. They have learned that gagging/crying scares mommy and if they do it you will cave and give em the good stuff!!!!!!
Take all the emotion out of food. You wouldn't let him get away with saying the seatbelt is too constricting so he doesn't want to wear it, right? Then he doesn't get away with the 'this food is icky texture' routine either.
I don't advocate being a hard a** - quite the opposite, but you have to teach him that there aren't any other options or you will become a short order cook.
Good Luck!!!!!!
Look at it this way - this is about you teaching him how to be healthy.