Restaurants have the same core economic issue Amtrak has, to a lesser degree. They thrive on volume.
Most restaurants "on land" are full on Friday and Saturday evening and are half-empty the rest of the week, but opening for the rest of the week and for lunch helps leverage the fixed costs (rent, equipment, taxes, benefits) over a larger sales base, allowing them to break even ore make a little money. I know one restaurant which is full *every day* from lunch right through dinner, and I'm quite sure *they're* making a *lot* of money.
The core reason the dining cars weren't working as paid service in the 1980s was that there were too few people riding the trains, and too few customers, to cover the fixed costs of operation. The operation needs volume to cover its fixed costs. Arguably every kitchen should be handling a second table car as well as the dining car. Dining hours need to be as long as possible. It's also valuable to cut *fixed* costs of running the dining car, such as the paperwork and inventory. Whereas trying to cut variable costs like the actual food quality and selection is a mug's game and will just drive away customers.
But anyway, there are a lot more people riding the trains -- or at least wanting to ride them and being priced out! -- now than there were in the 1980s. There's been a sustained runup in ridership and ticket prices despite very little expansion in service. So the dining cars may be in a different situation now than they were then.
Someone here knows when meals were first included with the sleeping car ticket prices, but I can't find the information. (Anyone care to help?)
I also can't find historic ridership data by line for the lines I'm most interested in (NY-Chicago, NY-Florida). But it is my impression that they are doing well. I did manage to find one data point, for the Southern Crescent immediately before its absorption by Amtrak -- 165,000 passengers. It's roughly doubled since then.
Now, I'm not saying this is true on every service (the CONO seems to have hit some sort of ceiling on ridership), but it does seem that the NY-Florida and NY-Chicago services are constrained by supply of rolling stock; the same is true from Denver to Chicago and from DC to Atlanta; and the Texas Eagle seems to attract huge and ever-increasing numbers of passengers despite its snail-like speeds.
More riders per train == more viable dining car service, as long as Amtrak doesn't do stupid things like raising the food prices way above "land" prices, or cutting quality and selection way below "land" selection.