One minor change *I * would make:
I would always save an answer in the answer_history table at the same time I store its question in the question_history table. Anything else would be too confusing.
And that means that the version number in the answer_history table *MUST* match the version number in the question_history table, to maintain the referential integrity between those tables. Okay, you seem to already be doing that. Fine. But then the version_timestamp in the answer_History table is redundant. So I'd kill it.
That's about it.
An optimist sees the glass as half full.
A pessimist sees the glass as half empty.
A realist drinks it no matter how much there is.