I've updated the documentation, adding a new page giving a
detailed description of why this is a problem for NCrunch.
I've also had a brainwave and done a quick spike on an approach that I hoped might implement a partial workaround for the AutoFixture problem. The theory was that NCrunch could maintain an in-memory cache of discovered xunit tests, and always refer to this cache if a targeted test had been previously discovered inside the same process. As long as the random parameter data was seeded the same way between each process, this would allow NCrunch to target tests for execution even if unstable parameter data existed. Unfortunately, it didn't work. It seems that the latest version of AutoFixture seeds the random parameter data with new values on every discovery action, regardless of whether it's a new process or not.
For sanity checking, I tried comparing my results with the Xunit VSTest runner, and noticed that this also blew up when using AutoFixture .. likely for the same reasons.
Regardless of whether I could get the above to work, there would still be the problem of sequencing. If the random data was seeded consistently, introducing new tests in the assembly would change the generation sequence of the random parameters, resulting in different values. You could add one new test to your assembly, then find that all result and code coverage data for the rest of your suite was suddenly dropped and a whole bunch of different new tests were discovered with different parameter data.
In conclusion, randomness doesn't work. Please avoid it.