Fortunately, Kindergarteners generally eat lunch at 10:30 or 11:00, so it doesn't have to be kept cold for too long. I would invest in some nice ice packs for the school year, just to keep everything as fresh as possible.
Some ideas (especially for proteins) include: cheese and yogurt. If you child doesn't mind eating traditionally hot foods when they're cold, you might consider left over pizza, baked chicken, pork chops, chicken strips, etc. We use the thermos for soups, ravioli, pastas, etc. My youngest LOVES cereal (mini-wheats, raisin bran, etc.) You can pack a bowl and either pack milk or have your son purchase a container of milk from the cafeteria.
We've also got a section on our Camps page (about 1/4 way down on the left hand side) where we have recommendations for Summer Camp Lunches http://familyeguide.com/index5.php?id=5&sid=63. You might get other ideas there.
Finally, no matter how much I try to be creative, I always feel like I'm packing the same stuff and the kids are getting bored. We let the kids have one meal a week from the cafeteria to mix it up. They send home a menu once a month and I let my girls choose one selection each week... then I know in advance when not to pack them a lunch.
Good luck!
www.familyeguide.com Free guide to affordable family activities in Flower Mound, Lewisville, Highland Village and the surrounding communities.