For example, we could display an error when the users tries to load a reply widget.
|mediawiki/extensions/DiscussionTools||master||+2 -2||When launched from an old revision, reply to latest revision|
I say we should try to find the comment they were trying to reply to in the latest version of the page (by user/timestamp), then reload the page contents and proceed as normal if we find it, or tell the user that the discussion they're trying to reply to was archived if we don't find it.
That was actually my idea for handling edit conflicts (or more generally, edits being made while a user is typing a reply, even if they don't conflict) – where we should also say "Someone commented since you started editing" and give them an option to show the new comments (or actually, reload the whole page and find the comment, which is the same but way easier).
I'd suggest converting reply-links into non-links, and add strikethrough to indicate they are inactive. (Even better, check the history date and don't show reply-links at all if it's before reply-links were deployed.)
While there may be occasional times it would be plausible and convenient to reply from the history view, it's obviously not something you can expect to work in general. I don't think anyone would be surprised that you need to go to the live page to reply.
The intended behavior now is that when viewing an old revision of the page (there is an "oldid=" parameter in the URL), the reply buttons appear, and saving a reply will add it to the current version of the page. (When we filed this task, saving a reply would undo revisions newer than the one being viewed.)
This doesn't affect archive pages, like in your screenshot, in any way. They behave like any other normal talk page.