by using 2 bits of nonce to specify which of the top 4 blocks to generate map from, and adjusting confirmation semantics accordingly
Ah, now I see how wrong it is. If you measure distance from top block then you should include hash of block that you think is top, but if you know its hash then you can just generate map from it.
I thought we covered this already...
Under this scenario you *could* just generate the map from the top block, but you are not *forced* to until the block you are working on becomes too old. Yes, your submitted work would include the hash of the block you think is top (as normal) as the previous block reference, you just wouldn't be forced to use this most recent block as map seed. As such, forced map resets would be 4 times less frequent. We could use any number for the allowed depth, really, and could even have this number adjust dynamically based on block rates, to keep map refresh frequency relatively consistent with network hash rate.