Rail staff - and by the sounds of it TOCs themselves - can sadly argue that they have discretion one minute and that they haven't the next, depending on whether it helps them or not.
What's needed are clear and defined rules, and the general public accepting when rules are adhered to properly without going down the 'jobsworth' route.
I'd say that if a TVM was installed that was card only, you must be able to buy a ticket for cash on the train, from an RPI or at the destination (likewise if a ticket machine is showing as 'exact money only' and you don't have exact money*).
Of course, walking out without paying when you arrive is a different story - but the railway should ensure that there's no situation where you end up having little choice (such as no ticketing facilities at the other end either).
* Am I right in thinking that you can't even overpay if you wanted to? It's been ages since I've paid cash, but I know on the older machines you couldn't even voluntarily pay too much. Perhaps one option (in the future) might be to allow overpayment and then issue some sort of voucher for the remaining credit - perhaps in the form of a unique code/barcode that can be presented at a ticket office.