We took the kids to the zoo today and Gus did surprisingly well, even compared to our last trip there a few months ago. Last time we were there for his school trip, he had some trouble waiting for the group to assemble and for lines to move, etc. There was about the same level of crowdedness. Today he didn't try too hard to run off, he didn't have a single meltdown in the zoo, and we were even able to go in some of the houses: the monkey house and the nocturnal animal house. We also stood in line to wait for a carousel ride, which was a major feat. He still wanted to race through each exhibit, but when asked to wait for his sister to catch up, he did. I could see him starting to lose his self-possession after about three hours, but that's a pretty big stretch of time, all things considered. He sat for lunch and a story hour (which was really awesome) as well. They had a great time.
A couple of things that I did to try and make sure we didn't have a disaster - I made sure to pack plenty of snacks - grapes, watermelon, apples and some animal crackers that are very low in sugar (three grams). The kids only had water to drink - no juice. I think those things made a big difference for us.