I'm also wondering how 'friendly' the friends are. Could they be bullying him? Or in some other way profiting from him?
Another possibility - if he is only buying for himself, is he possibly doing what a lot of adults do and impulse-buying because he's hungry, and then finding he's not as hungry as he thought after all. I'd be curious about what gets thrown away.
Sometimes I'm glad for the Aussie system - a kid CAN buy lunch but it has to be pre-ordered as school starts or just before - the kid ordering lunch or the parents write the child's name and order on a paper bag, put the money in the paper bag, plus they write on the paper bad how much they're paying, the teacher sends a kid down to the canteen with the lunch orders, the canteen delivers the lunches just before lunchtime, the kids eat their lunch sitting in the playground with the other kids. Or the kids bring a lunch from home.
And whatever is left is often taken home for the compost heap or other recycling, which also gives parents some idea of how much their kid is eating (or not). It still won't tell you if your child is being bullied out of lunch or their lunch money. And I remember when easy child used to get her lunch stolen, another girl in the class never seemed to have any lunch and she would raid all the other kids' lunches. Because easy child had a better class of lunch due to her allergies, this kid targeted easy child. The teachers had their own stash of emergency replacement meals but these were not permitted on easy child's diet. So we did two things - we got easy child's lunch minded in the school office, and we also changed her menu to the more unusual foods she liked, such as pickled octopus and black olives. And I think the school also had a stern talk to the girl's parents about her habit of stealing food.
I hope you can sort this one out.
Marg