Async: Fail assertions after existing assert.async flows are resolved

Fail assertions after existing `assert.async` flows are resolved.

Fixes #668
Closes #669
Again, don't put the word "hack" in the code. Either this is an actual hack that should be fixed or this is the correct implementation.