I lived in a St. Louis suburb (Clayton) for a bit and there are definitely a lot of really awesome things to do there. Clayton is a cool place too with restaurants and shopping and such... but it's basically a suburb so it's like a town.
As you've seen, the City Museum has been mentioned. It's a really awesome place, and something a whole family can love. There is this really cool outdoor structure that you can climb on and explore. Inside, there's a lot of really cool activities. It's just a really awesome place.
Something you've also heard about is the Science Center. That place is really awesome well. It's very interactive, and you can really learn about a lot of cool things.
Forest park is also really cool. The St. Louis zoo has a lot of great animals. There's also the art museum (for something more serious), and a boathouse. The boathouse has a place where you can rent paddle boats. You can go boating and eat lunch and really have a fun time. I'm not sure if the paddle boats will be out though, so if you want to do that you'd have to double check.
Try checking out the loop, or university city. They have this awesome restaurant called Blueberry Hill. It has a rockish feel, and has really good burgers, fries, etc. It's a really cool place. The loop also has stores and beading places and a lot of different things that I bet your family would like.
If you want something to do outdoors, try the Botanical Garden. It's really beautiful and would be an awesome place to go to on a good day.
Six flags and the magic house are also really cool places. SIx flags is a drive though.
When you're there, make sure you have toasted ravioli. It's a St. Louis specialty and is definitely very delicious.
It's good you are seeing the arch and a cardinals game... those are by far very important St. Louis features.
OH and go to Ted Drews. They have AMAZING custard and concretes.... its by far one of the best custard places I've been to and a St. Louis treat.
I saw before that someone mentioned Imos. Imos has pretty good pizza... but not everyone likes it. It's a different taste, but it is something that you'd have to try in order to figure out if you like it or not. So I'd go there if you're willing to try something different.
The Hill has a lot of good restaurants and italian food. Here's a link: http://www.diningstl.com/TheHill.htm so maybe check that out.
I hope this helps and have an awesome time!