My DD is 8 and has always had a milk problem. She went straight from the breast to water at 2. Not only did she not like milk, but it also made her crazy and sick. She's still not one to ever drink milk. She'd rather have water or maybe a Sprite every once in a while. Lots of foods have calcium in them. You need to do more homework to see how to get more in him. Lots of juices now have calcium, and while I hate the idea of giving them juice, it's better than nothing. Shrimp has a crazy amount of calcium, so try buying a half pound of shrimp, grinding it up, breading it, and making "fish sticks" with it. Even if you fry it, it's still shrimp. One of the recipes in the Deceptively Delicious book (would give it here, but afraid Jerry Seinfeld will sue me

) is for chicken nuggets with breading that has broccoli in it. Fresh broccoli is another excellent source of calcium. My kids thought it was good. Almonds have a lot of calcium, if I remember correctly. Try making your own almond butter (grind them with a little oil and some sugar for sweetener or buy it ready-made). This would be an excellent snack and help boost his fat and vitamin content.
Sorry to tell you this, but canned fruit is about as devoid of nutrients as you can get. Might as well give him a candy bar. The only fruit that improves while canned is the tomato, because the canning/cooking process greatly increases the lycopene content. That's why ketchup is a good thing!
Will he eat ice cream? Because I have had great success making "sherbert" with frozen fruits and juice. Flash frozen fruits and veggies can be a good substitute for fresh. I just put a big bunch of frozen strawberries and/or mixed berries in the blender with some OJ and it's ice cream time. This way they get the fiber, too. Rice Dream makes a rice icecream, too if you need to cut it with something that looks more like normal ice cream.
By the way, the higher the fat content, the less allergenic a milk product is. Skim milk is the worst, and heavy cream or butter are less likely to cause problems. So it's possible you could sneak more fats into his diet and not make him sick. Is he overeating because his body is trying to get the nutrients he needs from the limited foods he will consume? This is very possible.
It's very possible for a person to be overweight and malnourished at the same time. Empty calories will make you fat. Healthy foods will make you grow big and strong. I'm not saying they can't eat fun foods, but lot's of obese people are so undernourished it's crazy.
One last thing- a person has to try something new like 15 times or something ridiculous like that. Just keep giving your little one a sample of new foods on his plate every night. Just seeing it there makes it legitimate after a while. It's time to break out the creativity here. If he's ASD, he needs healthy fresh foods more than you know. I also have use the "adults only" food technique. i sit at the table and eat something like it's the greatest food I've ever eaten. They practically beg for it, then.
One last thing... Are you making foods that are too complicated for a child's palate? Because my BIL makes these wonderful foods that taste so yummy, except his kids look like Ethiopians. He puts so much spices or adult oriented things in his food that his kids won't eat. He swore up and down that his kids would not eat sweet potato, broccoli or carrots. A little bit of honey with steamed carrots, fresh steamed broccoli, and a baked sweet potato with a smidge of butter and some cinnamon, and his kids ate it and asked for more. They ask for me to cook veggies when they visit my house because I "don't mess them up".