Personally, I do the same thing on Amtrak that I do when I have a reservation at any restaurant. If it's getting near the time I was told & haven't been called, then I go check and ask how much longer it will be. Then, I come back again at that time. This works whether you're deaf, or your intercom doesn't work, or whatever.
First of all... the passengers who were deaf came at the reservation time, were told to go and wait in the lounge. They waited patiently, and then when they came back to check.. they were told that a last call had been made and the diner was closed. The passengers were obviously deaf.. the LSA forgot about them, simple as that.
Second of all.. you say you do the same thing at Amtrak as you do at any restaurant. What restaurant do you know of where you have to walk the length of 3 train cars to get back to your sleeping car and then listen for an announcement that may or may not work?
First of all, I'm not trying to excuse what that LSA did. He or she forgot about them, and then they had no food, and that's clearly a mistake. Hopefully, they were able to provide something from the cafe car, or something like that.
What I'm saying is that as a passenger (or again, at any restaurant), most people wouldn't just wait indefinitely, for hours on end. Come on, if you have a dinner reservation at a restaurant at 7:00 pm, and when you get there, they tell you "I'm sorry, your table isn't ready, it will be just a few more minutes," will you wait quietly for the rest of the night until the restaurant closes and you're forced to go home? Most people wouldn't do that. They'd go back to the hostess every once in a while and ask if the table is ready yet, and probably get more insistent and more angry about it the later it gets.
I'm not deaf, and I'm not disabled. I have yet to travel in a car whose intercom was entirely broken, but there have been MANY times - maybe even MOST meals - where the LSA forgot to call my reservation. Again, if I'm at 7:00, I hear them call the 6:30 people, and then the 6:45 people... and then nothing. I don't just sit in my car forever, I'll wait a reasonable time, and then go check and see if they're ready yet. If it's going to be a while, I may go back to my car, but if it's just a short while, I'll wait in the lounge. I don't see why this is such a hard thing to do.
Now, if people are disabled or deaf, that's a different story. If a disabled person shows up a few minutes early, the LSA should show some flexibility and seat them next. I think most other passengers would be willing to let a disabled person have a table first, rather than make them stand.
This is a case of "managing to the exception". The existing rules of restaurant service already work in an Amtrak dining car, the LSA just needs to follow those guidelines and show some common sense. Sure, you can bring up cases where the LSA failed to do so, but that's a training issue.
Lastly, restaurants have overcome this problem in other ways. Many chains now give you a "buzzer" that vibrates, makes noises, and flashes lights when your table is ready. This would be a great idea on Amtrak trains, and would solve all the problems you've mentioned, and many others. It's probably "off the shelf" technology at this point. I wish Amtrak had the money for this sort of thing, but if they're cutting back on the flowers at the table, it's clear that they don't.