Tagging error nodes by using addTransition with tag

Once I decided to emit an error in one of my checkers, I do something like

static SimpleProgramPointTag Tag("tag");
if(ExplodedNode *N = C.addTransition(C.getState(), &Tag)) { ... }

I've noticed that by doing so, the next statement won't get enqueue into the
work list, so basically the exploration stops at that point.

If I just use C.addTransition()
exploration won't stop, but in some cased I'll hit the assert point in
BugReporter that says "No error node found in the trimmed graph"

In both cases the state itself stays the same.

What am I doing wrong? What is the correct way to emit an error ?