Tough call, in regards to what to do.
My DS is fussier than my DD, he was sick with giardia for about a month before a doc finally found it and he felt sick while eating so it through his eating right off.
He is what I would call a grazer, and I have no problem (now!) with simply putting out a platter and letting him snack all day. If I did that for my DD she would overeat eat all day, she is much better with a set eating routine.
There is another factor and that is going to child care. He eats a better range and a lot more there (because of the influence of the other kids).

HUGS, it is very hard to keep chilled out about it. My advice to you is to not make an issue of it at all, put out foods he can graze on and allow him to touch and feel without any emphasis on having to eat them. (mix in a couple of things you know he likes, or grows to like eg. the animal crackers). DS has had periods of being very fussy, I just had to follow his eating style, not mine.
He is gaining weight well, that's great, so you have a bit of leg room to perhaps make his first pediasure in the morning to see if he appetite increases in the remainder of the day. You could water it down a little too to encourage more eating later in the day.

Keep watching him, maybe there is a food type that affects his tummy.
In all honesty I think keeping it really easy going, and laying out the foods, allowing him to help or sit up at the bench while things are prepared is great for encouraging a range of foods.
healthy foods can come first, then good habits, such as eating at the table, and more set food routine can come gradually later (there is a lot we can manipulate over time, just got to outsmart them

).