Well, I double-checked my source and the discount is 50% off, but not taken from the LOWEST accom charge. Here are the official instructions as published in the conductors discount book:
"Selling Sleepers On Board
Use the following guidelines, except when selling wheelchair-accessible
rooms to passengers with mobility impairments (see inside back cover for
those instructions):
* For customers with advance reservations who are paying on board
(boarding at unstaffed stations):
* Note the accommodation symbol indicated on the manifest (for
example: DS, DA, DB, DC, or DD for Deluxe Bedroom) and issue tickets using
the lowest applicable rail fare(s) for the passenger types and the
corresponding accommodation charge taken from your Tariff.
* For customers upgrading from coach on board:
* Find the C-level accommodation charge in your Tariff for the desired
class of sleeper (for example, use EC for a Superliner Standard Bedroom) and
apply it to the 50% discount column. Charge the resulting amount to the
customer(s) for the room.
* For customers upgrading on board from one sleeper to another (for
example, changing from Standard Bedroom to Deluxe):
Find the C-level accommodation charge in your Tariff for the desired
class of sleeper (for example, use DC for a Deluxe Bedroom) and apply it to
the 50% discount column. Subtract the accommodation charge already paid for
the original room from the discounted figure. Collect the difference
between the two charges - or - $50.00, whichever is greater.
Note: If the charge for the new room is the same as or less than
the charge paid for the original room, collect $50.00 for the room."
As you can see, the base for the discount is the mid-level or "C" accom charge - not the lowest price. And, when all the math is done, if the price derived from the calculations os $50 or less, the customer must pay $50.00.