My personal thought, everytime I have ridden Amtrak in the past few years, they don't use the whole car to it's potential for seating, leaving at least four booths vacant for paperwork, conductors, etc. Plus the opportunity to do Carry-out meals, as Cresent-Zephyr says. The fixed cost is the cost of the diner, and that does not change with the volume of business. There has to be a way to better focus on meals for both classes of service, increase the throughput from the kitchen and better distribute the fixed cost of the car. Maybe you add one more server, or another person to the kitchen, but in the global scheme of the universe, that isn't the absolute end of things. When you go back to the 50's and 60's, railroads did lots of experiments like having counter - diners, where less expensive meals were served in an informal setting. This is one place where the Superliner does sort of suck, in that you have the kitchen crew trapped in the lower level and using dumbwaiters to get food to the serving area.
One final thought... the "cross country cafe" really is the worst, in that it basically turns half of the serving area into vacant space. For fun, why not create some simple pre-fab meals that could be served out of the counter area that are made in advance of the meal rush, and coach passengers could either eat in the CCC lounge area or take them back to their seats? This might require some extra effort on Amtrak's side to keep the "lounge" side aimed towards the coach section, but it would gain more volume in the diner with negligable additional cost.