i've got a picky eater too and i have to pack what she wants, otherwise the lunch comes back full and the kid comes back CRANKY.
since she went to all-day (first grade), she's not able to graze at home whenever she's hungry. we (i) had a horrible first week of school because she came home in such a funk. i would ask her 'what did you eat for lunch today?' she'd say 'well i finished my apple'. what?! no wonder you're cranky'. i told her she needed to sit and eat her lunch and move to the overflow table if necessary and she said she got kicked out. i went in to spy to see what was going on. turns out she's just a chatterbox at the lunch table. she'd been there for the full 30 minutes. her teacher had a talk with her and it's been going better.
so i would say it's not so much the cold versus hot but that your son is distracted. see if the teacher can help.
but as for the thermos, i'm with everybody else. have a stainless steel thermos one that works great. have a target one that has a little spoon in the lid. i don't feel like it works as well as the thermos but my daughter hasn't complained. this one looks cool http://www.bedbathandbeyond.com/product.asp?sku=14750231&... but kind of expensive to be trusting to a kindergartener.
or you could go more japanese: http://www.sourcingmap.com/flowers-stainless-steel-inner-... looks like it would hold more stuff.
oh, i also threatened to pull my daughter out for lunchtime if she couldn't eat enough to be full. she LOVES school so she wasn't happy at the thought of that :P