There a certain time windows where a key is valid, so you can delay a few days for example (keys are disclosed either after 30s or 5min). You can really protect against real time replay of the signal, at least not in the authentication protocol. But there are other Methods of detecting relays.
The delayed publication of the key give the algorithm the needed asymmetricity. Since a key only authenticates message in a specific time window, attackers can't reuse the key once it's out there.
Regarding your last point, you can reconstruct "used" key with new keys. The keys are basically generated with K_{n-1} = F(K_n), where F is a hash function. So with the current key you can authenticated all previous messages.