Running everything in micro-pulses would be really hard on performance, that's why I was considered re-running after the event for just the affected objects. Unless I have misintepreted what you meant.
Steve
Well, what I meant was, you're talking about taking one missile and one target and running them on micro-pulses, then taking another missile and its target and running them on micro-pulses, and so on until you've done every potentially-intercepting missile. Instead, take every such missile and every target and run all of them on micro-pulses at once. It's no harder on the CPU - in fact, it's easier if there are multiple missiles going after the same ship.
That said, on further reflection I'm not sure what the micro-pulses do for you. Option 3 already gets you, with a little math, the time and location of the explosion. Just make an ordered list of possible explosions, march down, and take out destroyed missiles as necessary.
You might even consider doing the same with potential fleet interceptions, come to think of it. Just use detection distance instead of detonation distance, and all the math is the same. Check to see if someone is going to see someone else as the first thing in the pulse, and if the answer is yes, break down into smaller sub-pulses (but no smaller than 5 seconds, of course). That solves the bug where fleet detection can be late, especially if the game's moving in 30-day increments. Probably isn't really necessary, but since you're writing the code anyway, you could see how much overhead it adds. (Although, figuring out which pairs of fleets need to be checked is non-trivial. That... yeah, that might kill this notion.)