I've also had issue with 'chained' IF statement, for last stage.
If expression not TRUE (or also NOT equals), it does not take alternate path. It's inconsistent, but appears to be a complexity issue. More than three chained generally is more likely to have an issue.
I think (as I have stated elsewhere, on this forum) the multi-stage parser is smart at initial parsing, then stupid (cutting corners, and deleting beyond certain level of complexity), and then smart on what it has left (at runtime).
I've seen similar issue on a software project some years ago.