In my experience, past some level of code complexity, you get the pretty much same kind of races with cooperative scheduling as with preemptive scheduling – with the added risk that you did not expect a race with preemptive scheduling.
Still a fan of async programming, but that's a false benefit in my books :)
Still a fan of async programming, but that's a false benefit in my books :)