OP: I know you said they gave your DS a lunch, and you told him that was "for kids that really need it," but I wanted to LYK at the school I'm interning it doesn't work like that. Kids that get free or reduced lunch get the entire meal that the other children can purchase, which includes an entree, 2 fruits/vegetables, a milk and a dessert. If a child has forgotten their bag lunch or doesn't have lunch money they are given only a sandwich and a milk. Teachers found that when students don't have lunch it affects their behavior and learning in the afternoon and really isn't fair to the rest of the class, so the cafeteria now ensures that everyone gets that little something, no matter what.
As to what age a child is ready to do it - I say it depends on the child. If the parents have worked with the child since Kindergarten to learn how to prepare lunches, things are very easily accessible to the child, and the child is otherwise fairly organized, I'd think it's okay. If the child was otherwise having trouble with organization, getting materials to school, getting work done, etc.; I'd lean towards making their own lunch really being a burden that was just too much for them at this time.
At our school, child really should have a lunchbox with solid sides as well (i.e., not a grocery or brown bag), since the bag lunches are usually stored in bulk containers to be carried to the cafeteria by the assistants, and would get ruined if they were just in bags, but this might be different depending on the school.