Besides Rail Europe, which seems pretty expensive, is there any way to buy a train ticket directly from the Budapest train company before we leave the U.S.? We want to take an overnight sleeper from Budapest to Prague.
You can book by phoning Hungarian National Rail. See the phone number at the bottom of this page. According to the timetables, you would take a train from Budapest to Hegyeshalom and connect there to a night train to Prague.
I tried Tim's link to the Mav - Start, which is the Hungarian Railway. I had searched this site the day before. It shows the schedule but didn't have a way to purchase a ticket.
Therefore, this morning I was able to phone them and they confirmed that you cannot buy a sleeping compartment ticket using their internet site, nor over the phone with them. If you want to buy a ticket directly through them, you have to go to the train station in Budapest. They were able to give me their price for 2 people - $388 U.S. dollars. In comparison, the Raileurope price for 2 people is $418.
I think it will be worth the extra $30 to be able to book now through Rail Europe and be sure that we have a reservation for a 2-person sleeping compartment. Especially since we will be traveling on a Sunday night.