単純に、
ターン?ごとに、出されたカード、出した人、それによる@効果(ダメージや効果の相手カード先などなど)を、全ターン、あるいは一定数ずーっと記録する。

出されたカードは、固有のIDを持つ。

で、さかのぼって効果を打ち消すカードを使ったら、さかのぼった分のダメージを戻したり、打ち消されるカードの記録に再計算しないフラグを取り付けるなりして、現ターンまで記録に従い再計算して戻る。
さらにそれを打ち消した場合、その相手の@を見て、打ち消された記録の計算しないフラグをキャンセルして、再計算とか。

うん、めんどくさい。

そもそもTCGを知らん。