The difference between every-time and when relates to SEXPs that evaluate internally to SEXP_ALWAYS_TRUE, SEXP_ALWAYS_FALSE or SEXP_NAN_FOREVER (NAN = Not A Number).
Suppose I have a mission like this.
Event 1
when (high repeat count, delay 0)
- <
--Distance
---Alpha 1
---Cancer 1
-do something
Event 2
when
-something
-self-destruct
--Cancer 1
Event 3
when
-something else
-ship-create
--Cancer 1
Using the when SEXP event 1 will trigger until event 2 becomes true. At this point the Distance SEXP will be marked NAN_FOREVER (Cancer 1 is dead so FS2 thinks that there is no point in ever checking that SEXP again) Problem is when you respawn Cancer 1 using the ship-create SEXP you may want the distance check to work again. But it never will because the game has marked the SEXP as impossible.
Every-time doesn't mark the distance SEXP in this way. Next time the SEXP is called Distance will be evaluated again.