Instead of selecting PoW depending on block height, how about randomizing it depending on last hex digit of the last mined block hash? This randomness of algorithm choice would most likely make this more ASIC resistant.
ASICs don't need all that much time to go from off to mining, so I'm not sure if that'd help.
Interesting idea. What comes to mind first is that it would make PoW mining very sporadic. Essentially each PoW group would have to wait a lot until they can work again.
That's a good point, and other hybrid proposals do usually allow for continuous mining by all PoWs. The reason I did it this way is to ensure that one group cannot have any influence on any others. You know for sure that if a transaction has 4 confirmations then it has gone through all 4 steps and all 3 PoW groups. Whereas with simultaneous mining, it's more difficult to feel confident that this same property will hold. For example, even if you disallow one chain from getting too far ahead of another one, maybe a super-powerful attacker could completely wipe out the *entire* history of one chain, totally screwing things up. Maybe there are ways to do it safely, but it's more difficult.
Requiring miners to pause for a while is sub-optimal, but I think it's workable. Electricity would be saved when not mining, so it might not be that terrible.