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

Fail assertions after existing `assert.async` flows are resolved.

Fixes #668
Closes #669
P.S. Side note: Any idea why `ok` was like this? It's divergent from every other assertion and seemingly for no reason AFAICT. Changing this definitely didn't fail any existing unit tests.