This seems to me to be a problem with TLD based names. They all have different policies for this stuff. I once had to recover a .SE name due to a situation just like this. I had planned to re-register a name, but fell within a strange situation where my domain was still mine, but outside of a 60 day window when I could actually renew the domain. This was all in advance of the actual expiration date. Because of this, the domain lapsed and I had to have the registrar recover the domain manually.