But its no easy solution, unless there's the realtime ability for the system to know that any card has a Railcard discount applied to it
People don't exactly apply or remove a Railcard discount frequently. TfL is happy for contactless cards to be validated for revenue inspections not even based on having touched in, but merely on whether the card is in locally held database of blocked cards. That database itself inevitably being a few hours or days old at the time of inspection.
And if they couldn't possibly accept the risk of people travelling without a Railcard, having set their discount up on their contactless card just hours or days earlier, then surely a 24-48 hour waiting period would be doable?
The suggestion that there is a technical reason why Railcards can't be applied to contactless cards doesn't appear to hold up to scrutiny. It seems a purely financial question - TfL were reluctant to allow Railcard discounts on Oyster in the first place, and as contactless has now overtaken Oyster usage, they don't want to continue that discounted legacy. Eventually Oyster cards will probably be phased out.