As long as the food is "edible", the limited money Amtrak gets IMO should be better spend on expanding service, getting more cars, etc and not on improving food service. Getting better Amtrak steaks isn't going to help the people who can't afford to pay the $25 to buy them (probably would be more than $25 if it's a better steak) or the cost of a roomette.
You miss the point. Food service on Amtrak LD trains is there primarily to attract and accommodate the passengers who contribute the most revenue to the service. Those are the sleeper passengers. You want that audience to come back regularly. Without good foo service you lose some of that all important high paying audience. Yes the food cost allocation to the sleepers causes the diner prices to be very high, but people on a budget can always grab a sandwich and a drink in the cafe car,
The question is probably better posed as to whether Amtrak makes enough money off the sleeper cars to offset the diner loss, if you're willing to write off the diner as nothing more than an amenity to attract sleeper passengers. High revenue means nothing if the expense to get that revenue is more than the revenue itself.
That being said, if profit maximization is your goal, it's better to offer higher-quality food that can command higher prices than to try and get by with cheap food that feel extremely out of line. Take a burger for example. Standard 80/20 ground beef sells for about $2-$3/lb. If you're selling a quarter pound burger, that's 50-65 cents a burger. Add on a cheap bun and a slice of pasteurized processed cheese product and you're still probably at about $1 in food cost for that burger. However, even in a captive environment it'd be hard to justify charging more than $7-$8 for that burger, as people will find alternatives if they feel the food doesn't justify the price.
If, however, we take that burger up a notch - use grass-fed beef, source fresh bakery buns, maybe throw a special BBQ sauce or rub on it, and upgrade the cheese to real cheddar or offer a pepperjack option, and you've maybe doubled your food cost (I can buy organic grass-fed beef at Aldi for $5.29/lb, or about double the cost of generic ground beef, so I'm roughly assuming a doubling of the rest of the costs as well.) However, now you can charge $12-$15 for that burger and have people purchase it - instead of having a McDonald's level burger and having people compare it to the McDonald's dollar menu, you're now having people compare it to a good pub burger or sit-down burger place burger that probably runs $7-$10 at that style of restaurant.
The best part about upgrading the food to command a higher price is that you now get more profit - instead of having $6-$7 on the cheap burger after food expenses, you have $10-$13 after food expenses. Labor likely isn't a big difference between the two in a diner setting - both have to be served up on a plate and look presentable in that fashion, and it doesn't really take longer to cook good ground beef than basic ground beef. By upgrading the food, you've increased your profit margin (or reduced your losses.)
I've seen this trend a bit at local ballparks and stadiums as well, at least to some extent, and for me it works. It's a lot easier for me to justify spending $12 at the Red Cow stand (nice burger place here in the Twin Cities) for a good burger that's comparable to a $8-$10 burger at their normal restaurant than it is to spend $7 for a burger at the standard concession stand that really isn't any better than a $3 McDonald's burger. The profit margin is still easily there and probably better because the extra $5 in revenue from the good burger is almost certainly higher than the extra cost (mainly in food, since they're still selling the burger counterside like at a concession stand.)
The better way for Amtrak to make money is to find a way to deliver the higher-quality diner food with less staff than is currently required for the current sit-down diner set-up. Labor is a huge cost in delivering diner service. This is doubly so with Amtrak as Amtrak pays a decent wage and benefits package (as they should) whereas a typical restaurant gets away with using part-time labor at close to minimum wage (or less, in the case of wait staff in most states) and no real benefits to speak of.