Hi and welcome! My daughter was diagnosed at 16 with Crohn's and at 18 with Gastroparesis. She has also had a very hard time with gaining weight and eating.
My first thought was Gastroparesis but I see he has had a gastric emptying test.
Peptamen and Peptamen Jr work when your kiddo is lactose intolerant. They don't taste great, but my daughter got used to the taste and was able to drink 2 a day. Unfortunately, it wasn't enough to keep her weight up and we had to go to an NG tube.
When she was dxed with Gastroparesis, she then had an NJ tube placed since by then she couldn't tolerate formula going through her stomach. An NJ tube might be an option for your son - since it bypasses the stomach, he wouldn't be able to throw it up.
My daughter hated the NJ tube because it had to stay in all the time, unlike the NG tube which she just inserted at night. Unfortunately, her weight was so low that it was very necessary (she was hospitalized many times for malnutrition) and so she did have to adjust to dealing with it. She had it for a total of 13 weeks. The NJ tube is a pain because if it does get pulled out by accident, you have to go back to the hospital for it to be placed, by interventional radiology. But, it did do the job and she gained nearly 20 lbs while on it.
When it became clear M would need some kind of long-term supplementation, she had a GJ tube placed. She spent 3 days in the hospital, and took about 10 days total to recover. She had a few infections right after it was first placed but now things have settled down, thankfully. She is currently on Neocate Splash (she stopped tolerating Peptamen Jr at some point and so we switched to an elemental formula).
For nausea, my daughter also uses Zofran (ondasetron) and it works for her. We did find that that kind that dissolves works better than the regular kind - so we use Zofran ODT (oral disintegrating tablet).
Definitely check out the parent's sections - there are lots of parents there with kids around your son's age.
What did his scopes show recently? What do the doctors think is causing his vomiting? 20 times a day is a LOT! Perhaps he needs a stronger med, like a biologic?
Sending hugs!