There seems to be a lot of confusion surrounding every-time. People are still using it because they want something to happen every frame. That's not what it is for and is, in fact, a side effect of its true usage. If you want something to happen every frame you should be using when with a high repeat or trigger count and a delay of 0.
Every-time is a specialist SEXP that is only really needed in certain situations. The SEXP system has a habit of deciding that certain SEXPs only need to be evaluated until they come true. After that there is no way they can become untrue so there is no need to re-evaluate them every single frame. Same goes for events that are false and can never come true. Why check if a ship is destroyed once it's already departed for instance? For example suppose you have this repeating event.
Once Aries has been destroyed it's never going to be undestroyed so the game sees no point in wasting CPU time checking. It just marks the entire SEXP as SEXP_KNOWN_TRUE. 99% of the time this is the right thing to do. The game would be wasting time checking this stuff every frame.
But what if you have this repeating event?
Now we have a problem. After the first time the event triggers the game will mark the entire SEXP as true forever, even though the modify variable SEXP has now set the delay to 60 seconds. That means the event will keep triggering every frame even though it should only trigger once a minute.
This is when you need every-time. Every-time ignores all the SEXP_KNOWN_TRUE/FALSE stuff and just resets the entire event to unknown after every time it runs. That's why you can't use is-event-true with it. The above SEXP would work with every-time.
So here's a list of SEXPs you might see different results with when/every-time.
All the goal SEXPs (including the previous-goal ones).
All the event SEXPs (including the previous-event ones).
These SEXPs will also sometimes return SEXP_NAN_FOREVER. It might be possible to make them evaluate to a sensible number later though.
These SEXPs will also sometimes return SEXP_NAN_FOREVER. You probably can't make them evaluate to a sensible number once you've had them return false once though. I've included them for completeness.