Another incredibly picky childhood eater here.
Have you tried telling him that he is NOT ALLOWED to throw up? That's what my mom eventually did because I also had an uncontrollable gag reflex. Mashed potatoes -- instant gag. Any casserole -- same thing. There were five of us kids, and one day she decided she'd have enough and told me she would.not.tolerate.it.anymore.
I didn't dare throw up again.
Of course I swore I would never treat my kids like that and never ever ever make them eat things they didn't like....but I've begun to see her side just a little.
You mean, you actually forced yourself not to vomit because your mom said so? Anyway, I have some ideas, being a vegetarian myself, I can definitely empathize with a child not wanting to eat meat, even if it's just because it's "yucky," and not for ethical reasons......I think meat is pretty "yucky" too, lol. Anyway, here they are:
-Cut-up pitas and veggie sticks with hummus
-Vegetarian chili in a Thermos (maybe throw some cut-up vegetarian hot dogs in there if he likes them, or give him some grated cheese and a hamburger bun or taco shell so he can make his own sloppy joes or tacos).
-Canned pasta in a Thermos (same as above)
-Kraft Dinner in a Thermos (you can add all kinds of things to this, I always add chick peas and green peppers, and sometimes sliced carrots too).
-Soup in a Thermos
-Mini veggie subs on hot dog buns with grated cheese instead of "normal" cheese
-Stuffed veggie pitas or wraps (same as above)
-Cheese Pizza Lunchables (maybe as a special treat)
-Cold pasta salad with beans or chick peas in it.
Also, does your son have access to a microwave at school? If so, there are tons of TV dinners and microwaveable foods that your son could take to school. There's Easy Mac, Campbell's Soup at Hand, little plastic microwaveable containers of various kinds of canned pasta, and tons of other stuff like that.