He's 4.5?
He's still alive?
He's eating enough.
I know what you're going through, but honestly, I have a 3.5 year old who is 38 inches and 28 pounds. He goes all day like the energizer bunny...the energy comes from somewhere, even though I swear he lives off air. My son is also autistic and has major texture issues, but he does eat a fair variety of foods. We also went through the Pediasure stage for about 1.5 years. There was a time when EVERY day, I would mash up an entire avocado, mix it with whole milk vanilla yogurt and a bunch of honey and call it "avocado cream". He would tear it up (this was between 1-2 years old). This is how I "fattened" him up, enough that I couldn't see his ribs through his skin on his back anymore. He now likes mac and cheese a LOT, so I let him have that about every other day. I bribe him to eat what I make for dinner with the promise of a small dish of vanilla ice cream (super premium). He LOVES vanilla ice cream, enough that he will choke down almost anything I serve him (sometimes gagging along the way), just so he can have it. Believe it or not, his pedi recommended I do this. The ice cream will work double time to provide some essential fat and calories to his daily intake. Plus, it will get him eating other things. It totally works!
At this point, I don't stress about it anymore. He is a healthy happy kid. Unfortunately, his favorite foods are practically zero calorie (he likes raw vegetables, rice, grilled chicken breast, plain lettuce, pretzels, etc).
I still use whole milk and whole milk dairy products for him. He has recently begun liking chocolate milk, so he has some every day now (he previously would NOT drink milk at all...I had to give him yogurt like it was going out of style so he would get enough calcium).
What works best for us is to let him help me cook. He loves it! Today, he was sauteeing peppers and onions for fajitas and he started eating cooked onions and peppers off the spatula he was stirring them with!

That was a first. He was very excited to make himself a quesadilla. I let him choose what he wanted and let HIM make it. He chose to put in chicken, onions, and cheese, and he at it ALL! If I had made that for him, he wouldn't have touched it. At this age, a lot of stuff is about control. I find that when my son has control over preparing his food, he is more likely to eat it.
And boy, do I know about the taking FOREVER to eat! My son will eat if given the chance, but really, an hour is too long for the tiny bit of food I put on his plate. He gets SO distracted! I used to follow him around shoving food in his mouth as he played too...but I had a LOT of professionals advise me to stop doing that a.s.a.p.! That kind of thing can cause some serious food issues.
If I were you, I'd just try to relax a bit. I know it's easier said than done, but toddlers have an instinct to survive. They will not let themselves starve. Eventually, they will get hungry and eat. You should establish mealtime rules and routines and stick to them. Tell your son that he needs to eat at the table, and he may leave when he is done eating. Let him go hungry for a meal or two...he will shape up FAST! And, he will start eating if you stay consistent. He knows he is in charge of this situation, and you need to turn it around. Also, I would start keeping a food journal. Write down EVERY item of food/drink that goes into your son's mouth. Remember, a 4 year old only needs about 900 cal/day. That's not much at all. Chances are, he's eating exactly what he needs. I'd stop the Pediasure, unless your doctor advised otherwise. It's super high calorie and is probably making him full. It's like when adults use Slim Fast. Those shakes fill you up and you're not hungry. Pediasure is meant to REPLACE meals for kids. Each one is almost a third of the caloric need for a 4 year old, so I'd stop them and see if his appetite doesn't pick up.