Vinny ended up enjoying the fireworks in practice.
The fireworks were scheduled to start at 10 pm. We staked out a good spot to view the fireworks at about 6:30 pm, and had a picnic. Jeff made some pulled beef barbecue and a fruit salad, and we had that along with some chips and some IBC root beer (which at one point, a cop mistook for actual beer and came over to make sure we weren't drinking alcohol).
After the picnic, I took Vinny to the playground for about an hour. We would have stayed longer, but he was really sleepy and started lying down on the crowded playground equipment, so I took him back before he got trampled. But that meant we still had about an hour and a half to kill before the fireworks started.
We managed to keep him entertained for that time, and he was excited when the fireworks began. Jeff had picked the absolutely perfect spot to sit -- the fireworks were literally launched right across the river from us. But the noise was a bit much for him and he started crying. But after I covered his ears with my hands, he was able to appreciate the fireworks and I heard a lot of "Wow!" and "Look at that fireworks!" coming out of him. By the end my arms were killing me, but it was worth it to give him that chance to enjoy the fireworks.