Rewrite ReexecuteEpoch() and RecoverFromReexec(), fix a crippling heisenbug.