Those are rare corner cases for today, especially the "early way that some people wrote automated tests". It seems rather easy to figure out a test project, as you have to run the tests, so if a project has any Unit Test class then they are probably a Unit Test project in todays world of unit testing, also you could use a configurable threshold setting to determine it. I think identifying Test Projects is not a difficult thing. Worse case is to add a flag to set on all projects marking it as a Test project or not.
I guess I can see some may like looking at them to see what test code is "Dead" however that is not a code coverage issue, it is an active or inactive test code issue. I think have two sections in the metrics window that separated the Test Code from the Code Under Test, with the Code Under Test section being Test Code Coverage, and the Test Code section being Active Test Code. It is really confusing and misleading having the percentage of active test code rolled up in to the test code coverage percentages. It is also a pain to always have to go and set them to be excluded from the roll up. I would be find with the set it and forget it setting to mark all projects as a test project via an NCrunch configuration setting on each project.
I really think separating them makes more sense to the developer/user of NCrunch, as everyone I work with who uses NCrunch has asked me why this screen is doing this, without any prompting from me.
Anyway, thanks for answering the question about why it is the way it is. I guess now I am asking for a feature request, it could even be a configuration switch to allow both views of the data so as not to upset anyone who likes it the way it is. :)