For tomorrow, just put his sandwich directly on top of the cold pack. That should keep the mayo from coming to room temp during the morning.
While this wont help for tomorrow, I just picked up a 3-pack of these containers to take camping for around $10 - at the office supply store of all places. Only the lid has freezer gel in it. They are the same size as the Gladware plastic and will fit a nice sized sandwich. I was able to fit 2 cups of blueberries in one container. Yes, they really work. The gel stayed frozen in the icechest for more than 24 hours. On their website, it looks like they have containers with coolant in the bowl as well.
This lid fits very tightly and is of course pretty stiff since it's frozen. You may want to give your son a little coaching session the first time he uses it to make sure he doesnt crack the lid. It would be hard to do, I think, but it couldnt hurt.
I also saw this one specifically for sandwiches on the website: