All I can offer is the knowledge that we're gone/going through the same thing, but remarkably for last 3 months my ds has got lots better. I think I've just been more laid back as my toddler now weaned eats well and I'm telling myself its not my doing with my ds, if that makes sense, that there's not much I can do. I was relying on him being weighed at school at 5 to flag up his weight as an issue but it didn't, he just came home with a letter saying he was at top of the 2nd centile. So annoyed as well as they weighed him on a dress down clothes day so he was wearing jeans! Hes only 19kg (but tall in 6-7 clothes for months, say about 122cm) and jeans alone will have added loads of weight, lol! GP has never been bothered that hes skin and bones and hes had two minor ops and nobody has ever commented on his weight.
He can't have snacks between meals as a snack size for most kids is meal for my ds. I stopped trying to ram 5 a day down him and the recommended protein portions etc and concentrated on what he will eat and hes suddenly been more open to trying new foods. I now always say to him if he cant eat his tea (even if its meant to be a favourite food) he can have a sandwich and piece of fruit. I know a lot of people say if they're hungry they wont starve themselves and you shouldn't panda and make separate meals, but you know what, going against all the advice and not being so stressed has actually made things better. Oh and the big no no of bribing, well my ds knows he'll get a pudding if he eats all his tea. Sometimes now he's too full for pudding. If he has a rough period of eating I give him pediasure shake, as suggested by gp, who really wasn't concerned.