Just an observation I had with my skinny little boy who's in 1st grade now. I had been letting him snack whenever he was hungry, cuz he was so skinny and I was worried about his eating adequate amounts of food. But he'd never be hungry enough to eat more than a bite or two of dinner. So finally we said ok, NO snacks for at least an hour before dinner & meals and that helped to make him eat "real" dinners. We didn't start this till he was probably 3 or 4 years old tho.
As for weight and health and all that, speaking as a mom of a boy who was WELL past one year old and STILL under 20 lbs before I turned his car seat around to be forward facing (and yes, I must still feel some guilt about that HAHA) As long as he is healthy, active, learning, engaged, doing well, not losing weight for unexplained reasons (growing & being active is an explained reason, that's ok.) then don't worry. There are too many fat kids out there and besides your arm/shoulder will thank you when you have to lift him up.
And this is just my personal thought: Protein shakes and smoothies aren't made for children. They are quite filling (especially to little tummies) and he would feel content and full with just a little bit and not learn to or be interested in eating meals. I'd go easy on the protein shakes and stuff, and focus on getting natural foods (fruits, vegs, etc)
He may or may not like veggies/fruits but most little kids love dips and will try something they've refused to eat if they can have dips & sauces. My son would never eat salad until he had salad dressing, probably about your son's age. From that point on, he loved salads. So give him dippers (salad dressing, ketchup, maybe mixed with mayo, whatever) to tempt him to eat various veggies.
For fruits, sour cream mixed with sugar makes a great "sauce" or dipper for strawberries & other cut up fruits. Or yogurt, or other things like that.
And I have a friend whos married to an Aussie in the SW part of the greater Phx area :-)