We just finished up our Rhine river train tour and it was amazing!!!
Glad to hear you enjoyed yourselves.
One final note: While Kevin was based in Frankfurt, MAINZ (population 220,000) is a good base-town alternative for such a trip.
As the map below shows, Frankfurt lies several miles to the EAST of the airport (Frankfurt Flughafen on the map.) Mainz lies on the Rhine river to the WEST of Frankfurt Airport, significantly closer to Bacharach.
https://www.vrminfo.de/fileadmin/data_vrminfo/PDF/RLP-Ticket_streckennetz.pdf
So taking the train straight to Mainz (25 minutes from FRA airport) has at least 3 advantages as I see it:
1) Mainz is a nice place with a handsome old town zone and lots to see and do; it requires more than just a quickie stop. Overnighting here makes very good sense. When you stay there, you'll also have more stopover time (or perhaps cruise time in warmer months) during your train outing.
2) A Mainz base shortens and simplifies the train loop. Mainz has frequent departures to the Bacharach stop, including DIRECT RB trains every hour (trip takes 45 minutes) and DIRECT RE trains every 2 hours (trip takes only 30 minutes.) From Frankfurt proper to Bacharach, you must backtrack; the RE trains require 70 minutes to Bacharach, while the RB train trips force you to make train transfers and require 90 minutes to Bacharach.
3) The Mainz-based day pass for the train loop costs less - for two adults, a €32 Rheinland-Pfalz Ticket covers all your trains. From Frankfurt, the QdL pass (Day Ticket for Germany) at €55/day is required.