Hi Liz, I hope that you are feeling a bit better now. Before I was medically retired I was a advisory teacher. My job was to advise teachers and parents on all forms of behaviour ( not just the hideously behaved but also where certain behaviour is causing concern).
I think that the advice is very good that you have been given. I to have the one child ( now 20) and he's certainly manipulated me plenty over the years! Anyway, for what it is worth, here is what I would be advising:
1) Keep a diary of when and how his phases of food fuss starts. Over the period of this phase, what will he eat, how does is his reaction to foods he does not like at this time change. Don't tell him about this.
2) Get in touch with School Dinner ladies immediately and ask them for their observations. If they have not observed as so busy, ask the school to ensure an eye is kept on him.
3) When food problems start you mention gagging or wretching. This can be down to anxiety. Find out from the school if there are any tests coming up, is his play pattern different ( Dinnerladies are a mine of information), has he got worries re. other children, is he being picked on at all. How is his educational progress.
4) At mealtimes, after you have given him a limited choice of items ( e.g. from this list of 4 things, choose what you want).
5). Eat with him when possible. Have a chat with him about nice things eg what has he done at school, fave teacher, best friends, what would he spend a million pounds on, things like that. Listen out for any worries. Don't bring them up at table but store away to ask in another situation so he doesn't further relate stress to food. Also I always tend to start a conversation on the child's stresses not with a question but a statement. E.g. instead of Do you find you don't get on with Miss Smith/ Peter down the road/finding it hard to keep up with the class/ classes not stretching enough, is it worrying you? I start with," It seems like your having a few problems with...lets talk about it". Turn off TV, anything else that is a distraction. If he isn't forthcoming and you are still worried bring up a few things you think maybe relevant from your own youth and how things were ok again.
5). At the dinner table, your boy has made his choices from the limited list, cooked, plate in front of him. Let him get on with it. Ignore initial protestations by continuing with "Nice things chat", this takes away emphasis from the food. After a while and if he's not eaten anything, be very factual and say it looks like we make a compromise what you eat here honey.
6). Ask HIM how much he thinks his body needs. If woefully small amount then say well, lets compromise and you put a bit back over to the "Must be Eaten" pile.
7). Don't push, but don't be pulled either. If after a reasonable time has passed and he has eaten nothing just comment mildly that he hadn't reached the compromise and what a shame this is. Offer him a range of yoghurts - he gets one for afters. When he HAS eaten the compromise food, then maybe give a more exciting afters.
Please don't fear, it is not your fault. If in some way some of the behaviours he has picked up from you (like needing to puke), there are reasons behind it that are certainly not your fault. The fact that it goes in phases shows that everything is ok, and then it's not ok. This would suggest that there is something behind the "not ok" phase so some of the above info might be helpful. It could just be he's feeling the need for attention or some problems that seem big to him. Giving attention away from the table will help and fun conversations at the table.
Hope this is of some use Liz, please try not to worry. It is not the end of the world if he eats poorly for a while, he will live, and will hopefully grow out of this behaviour in the long term. The most important thing for you is not to reinforce it accidentally by visibly worrying and offering him different foods. Even if you are worried ( and we all would be with our children), don't let it show and don't let him manipulate the situation.
Hope you have good luck in dealing with this problem Liz x