I don't know if there is any truth to this, but I once heard that nobody (including adults) should have body odor--and that if you eat/drink healthy enough, you won't have any. I don't believe this, since the odor is caused from sweat mixing with bacteria.........but it got me to thinking that maybe your son isn't drinking enough water?? Just a possibility.
As far as deodorant goes...I've been using a salt crystal that I bought from a natural market in town. It's called "Amazing Thai Crystal Deodorant Stone" or something and it says right on it, "over 1 million sold" so I'm sure if you google it, you'll find it. It's "all-natural"...just a stick of salt. All I do is get it wet and apply. It works REALLY well!!! It was expensive (I think $8?) but I bought mine over a month ago and it doesn't look like any is gone yet. (and I use it 1-2 times/day...before exercising if I go to the gym and always after a shower.) I would try this for your son before using an antiperspirant. :-) Good luck, mama!!