Right now the InvalidReferenceEventHandler is called for bad references whether they are quiet or not. The reference is passed as "$abc" even if the template actually contains "$!abc".
Typically, you'd want to ignore invalid references. We should fix this to pass "$!abc" instead of $abc.
It's not a hard fix – anyone mind if I change this? Technically, it's a break in backwards compatibility but a pretty minor one. It will still get called but with an indication the reference is quiet.