Actually, if i got right how it works, the time when the block is found does not determine which one is invalid.
It depends on which block will have the next one based on it.
Lets say one pool finds block 17a and one finds 17b. This has to happen in a small time frame, because if either pool had known about the 17 block, it would have stopped working on nr 17 and started working on 18. But it does not matter which one was found first. Both pools relay the found block, so we have some nodes who get notified about 17a first, and disregard messages about 17b cause they already know a valid 17 block, and some the other way round. Some nodes (pools) now work on 18 based on 17a, some work on 18 based on 17b.
As soon as a node finds 18, others get notified and start working on 19. This chain contains either 17a or 17b, the one contained is valid, cause the chain with the other one will not get any longer, cause pools will not work on a 18 based on it, but on a 19 based on the longer chain.
That said, the statistics page on slush pool probably just counts down the block numbers for the number of confirmations needed.
In theory, one could check whether the block is actually contained in the longest chain and display "invalid" way before the 100 has counted down.
I've never heard it described that way before. And if that's true, then the chain forks after every block found....