My girls are starting ballet camp tomorrow, and I'm gearing up for the same thing. The girls eat lunch outside in the courtyard, and their lunches are kept out there, too (in the shade, but still). What I did last year was to freeze a plastic bottle of Gatorade (or you could do water) and put it in the lunch bag at the beginning of the day. Most of the things I pack are "snacky" in nature: almonds, turkey jerky, grapes - so if those things are in the heat, no big deal. As long as I put the sandwiches right near the frozen Gatorade bottle, we found that the sandwich stayed plenty cold until lunchtime. And then, at the end of the day when the girls were tired and thirsty from dancing all day, the Gatorade was still nice and cold, and helped revive them a little bit. I imagine if your son will be outside all day, he will be pretty active, so he may want a sports drink at the end of the day, as well.
Anyway, that's what I did last year that worked, so I'm going to do it again this year.