We are arriving in Frankfort, and want to take the train to Bingen, then take a cruise on the Rhine to our hotel in St. Goar. What is the best boat to take, and would like any advice for the train and the boat trip?
Look at the schedule from Frankfurt airport to Bingen at www.bahn.com and the boat schedule at http://www.kdrhine.com/rhineschedule.htm
You can put in as destination "Bingen K-D" and it will show route to Bingen (Rhien) Stadt, then 10 minute walk to the boat dock. It will not show the price as it is an RMV local network ticket. You can buy out of a vending machine at the airport regional train station. It is a 8.50 EUR ticket, with a train change at Mainz or Ingelheim.
As for the KD cruise ticket, don't buy that "KD Rhine" pass you may see at the site linked above. Just buy a ticket at the KD dock in Bingen. Normal price is about €20 to St. Goar, but you'll get a 20% discount if you show the train ticket you used to reach Bingen.
To buy those RMV tickets, you will find ticket machines that look something like these at the FRA Regionalbahnhof station (one of two FRA train stations, and the one you should use to get to Bingen.)
Make sure you go to Bingen Stadt Bhf, from which the KD boats leave, not Bingen Hbf. Only the RBs stop at Bingen Stadt. You'll have to change somewhere (Mainz or Ingelheim) to an RB.
In addition to the 20% discount with a rail ticket, there is a 30% discount (not cumulative) if you are 60 or older (no rail ticket required).
We were going to do exactly what you are planning last October, but when we changed at Ingelheim, we decided we were too tired and jetlagged to do the boat trip that day so we bought a ticket from Bingen Stadt on to St. Goar and went directly to our hotel. Ironically, the 7,-€ Ingelheim to St. Goar Bahn fare, on top of the 8,50€ RMV fare to Ingelheim, was less than the Bahn fare from the airport to St. Goar, 20,50€. (You can get the same fare from FRA to Bingen Hbf {RMV} and Bingen Hbf to St. Goar {Bahn}.)
It's pretty hard to use the DB site to look up trains if you don't spell the city correctly. And in this case, you have to know there are two big Frankfurts on different rivers. [edited] In this case, you want Frankfurt am Main.