More details on that please

The most interesting question is how to caught this in retrospective, e.g. how can I ensure downloading the chain that pool was caught and punished for a reason 100K blocks ago?
It can be very simple. A pool is penalized at the point it is caught - the earliest block where evidence is submitted. There are 2 possibilities at that point. 1) The pool is still live - the owner's stake is destroyed and the pool is disbanded in this case. 2) The pool is old and does not exist anymore - simply do nothing in this case. No harm can be done unless the attacking branch (can be long range attack) can get more signatures than the main chain. The point is that if we can catch and penalize double-voting at the present moment, changing the history later is hard, unless an attacker can compromise most private keys of the pools.
Well, in this case another attacks vector is possible - creating fake evidences. Unfortunately, authors of all proposals like that dont' describe details, so it's hard to propose concrete attack.
And why pools are needed? Evidence could be published against concrete forger. Pools are adding unnecessary centralization imho.