Back in the 1940's The Fred Harvey Company ran the diners on a few trains going West.. I believe that the Santa Fe Super Chief and the Californian offered Harvey service but the service was heavily subsidized by the railroad company. From what I read in the history books, dining cars on every railroad,( even during the Golden Years) never made any money.
History lesson follows.
Originally, long-distance trains *stopped for meals*. E
veryone got off the train and it sat still for an hour while people got their meal at the Fred Harvey (or other) restaurant. (In practice this currently actually happens for the eastbound Lake Shore Limited at Albany, but not really for any other train.)
Obviously, this slows the train down. Therefore the dining car was invented. The dining cars lost money on food service from day one, but they allowed the train to *run faster*, because it no longer had to stop for an hour for breakfast, an hour for lunch, and an hour for dinner. The amount of money saved by running the train faster, combined with the added revenue from higher prices which could be charged for faster running, paid for the dining car.
The economics are exactly the same today.
Perhaps Amtrak should figure out how to estimate the cost of running each of the trains on a schedule several hours slower (I believe it would be six hours slower for the California Zephyr), and should credit that much money from ticket revenue to the diner. The trouble is that you're just guessing how much revenue you'd lose by making meal stops. A lot of revenue, definitely.