My guess is that the dinner takes that loss on the chin, but I'm not positive.
That is one of the reasons, therefore, that when Amtrak claims they loose money on the dining car, my reaction is "duh!". Amtrak runs it such that the dining car has to eat it (I just love puns) when LD trains run late.
Let's face it, Amtrak trains run late more often than not. And with them running late, sleeper passengers many times get yet another meal. I know for me on 92, that if the train is running its usual lateness, we get an extra free lunch before getting off in Orlando.
IMHO, it is operating/bookkeeping policies like that, and not the number of servers or cooks on board, or using china over plastic, that cost the diner car to loose money.