I definitely think this is anxiety as throwing up at school could very well be him getting emotionally worked up and so worried that it causes him to do so. I feel for you both a lot! I would definitely recommend a GP visit. A few councelling sessions definitely couldn't hurt. Sometimes a good chat with a professional as to why he is feeling anxious about going to sleep, if he remembers when it started, possibly why? How he was feeling when he threw up at school...it all could be from one thing.