Even Amtrak admits that the cafe cars as a group are profitable, and that most of them are profitable individually.
They're profitable.
The big problem, as for all restaurants, is *quantity*. The cafe cars are, mostly, managing sufficient turnover -- particularly on the routes with longer travel times. The Downeaster is a bit too short; doesn't cross mealtimes for enough people. The NY-Albany "short runs" might be too short too, but nobody's checked in years, so I'm betting they'd be profitable -- there's a shortage of cafe cars though, so I suspect Amtrak won't assign a cafe unless the state demands it or buys its own car.
The dining cars aren't managing sufficient turnover -- as ThirdRail points out, they used to be operating continuously all day long and filling all their tables. For various reasons ranging from shorter consists to understaffing, they're not doing that now. Frankly on routes with lower demand and more price-sensitive coach customers like the Texas Eagle, they could probably never do that.
On the Lake Shore Limited, with proper dining cars, they could have had much higher turnover, if they'd advertised properly to coach customers.
Stupidity.