The morning Missouri River Runner east to St Louis has been keeping decent time lately. Of course, during the time you're going (summer), there's bound to be track work (it seems to be a yearly thing). The track is single tracked from, I believe, Kansas City to Jefferson City, so, bottlenecks sometimes do happen. I believe this summer, they bussed people to/from Jeff City during the track work, so, be aware of that possibility (sorry, can't remember whether the bussing was Jeff City to/from St Louis, or Jeff City to/from Kansas City).
I take these trains several times a year. Business class is 15 seats, 2-1 configuration. Half the car is the cafe, the other half is BC. It used to be on the front of the train, but, recently, they have moved it to the back of the train. (boo, hiss) The route follows the Missouri River for quite a bit of the trip (hence the name I guess). Wider seats, leg rests, a great deal of recline, outlets at each seat, a free daily paper, a free non-alcoholic beverage, and a cafe attendant to guard business class from the coach passengers! I'm not being mean, just having a little chuckle thinking back on my last trip. I believe the last time I took it, the cost was $14 to upgrade to BC. If you have any specific questions, feel free to ask; I'll be on it again sometime in October.
As far as St Louis, there are TONS of things to do. As previously mentioned, Union Station is nearby, but, it's nothing more than a mall now, with some cheesy shops and a food court. There are a couple of sit down restaurants too. The Cards usually have day games on 'get-away day', which is normally the last day of the 3 or 4 game series. Those are usually are Wednesdays or Thursdays, and Sundays (unless they're on the national relevised game on Sunday night). The zoo is a great, free attraction. The Arch and Arch Grounds are free admittance; there's only a charge to go to the top (highly recommended, at least in my opinion), or to see any of the movies shown there. Casinos in the area also, if you're a bit of a gambler. A ride on the Metrolink from end to end; can ride all day for something like $4.00 (I can send the price information to you if you're interested, or, I can send you the link). Depending on your likes and dislikes, you can find something to do in St Louis to kill the 7 hours. Again, if you have any specific questions, let me know....