When my girl was in preschool, I used 2 "blue-ice" cold packs in my daughter's insulated lunch box. It stayed cold. I would pack her lunch at 7:30a.m., their lunch was at 11:30, and it was fine. They key is to use an "insulated" lunch bag. Her lunch box was kept in her cubby, in the classroom.
With my daughter now in Kindergarten...and when they have excursions, and their lunch is later in the afternoon...I freeze a water bottle, wrap it in foil, then put it in a ziplock bag so it doesn't sweat all over everything. It really lasts and the contents do stay cold. And sometimes I add a blue-ice pack to it too.
I packed many different things in her lunch bag...anything from left over dinner, to sandwiches, to shrimp tempura, to spaghetti, to fish, to soup. It all held up fine. I even put a milk box in there too, or cheese, or fruit, and it was fine.
Main thing is to find an insulated lunch bag/box that will fit in her cubby...I find that the kind of lunch box that is zippered....versus just a folded over fabric flap....keeps the interior of the bag more insulated. You want a lunch box that is sealed tight...I tested a few styles we had at home, and the zippered ones kept the cold air within the box better than those soft fabric types that just have the rolled over flap/velcro closure, because the interior cold air can still escape from those bags.
The "blue-ice" packs comes in all different sizes...so you can find one that will fit in a child's lunch box. The size I used was about a 6" rectangle in length and about 4" in width.
Good luck and I hope this helped,
~Susan