Ich hatte sowas auch schonmal, und da wurde ein längerer If-Ausdruck, den ich zur Übersichtlichkeit in eine lokale Variable evaluiert habe, auch falsch ausgewertet. Als ich die Evaluation direkt in der If-Bedingungen eingesetzt habe gings seltsamerweise. Es könnte also tatsächlich ein Problem mit dem With-Block geben.
Wobei eine Überdeckung freilich nicht ausgeschlossen ist, aber nicht zwingend die einzige Möglichkeit für die Fehlerursache ist