Well my memory of checknewobjects first appearing (sometime in V4 or maybe even late v3), and this may well just be coincidence, was after a discussion on the newsgroup.
From memory, I was part of a discussion that went along the lines that what was the point of rhino allowing entities it “knew” were bad to continue to be used in the model making process, where later on they caused all sorts of problems.
Since that time, I have it on always - the point for me is not so much that rhino lacks a response that allows me to understand the technical reason why an object is bad, but rather to immediately undo the operation, and find another way to proceed that doesn’t cause the problem.
Over the last few years it has saved me from many many potential problems by this “first alert” feature.
Some commands are still buggy - MakeHole, Silhouette for example (as recent as yesterday the command caught results of silhouette here).
Also, it will tell me if imported stuff is ok - for example a model of a commercial part in stp format I needed to use was flagged. I was easily able to ExtractBadSrf and fix the problem.
Rather than your mythical checkforhumans tool, you should be providing a robust set of tools (as for example in solid works, inventor, AutoPol) that catch errors and flag objects that cause problems when the model or parts of it are exported for downstream processing eg laser and water cutting, machine folding and so on.
It was only by running parts through inventor I was recently able to see and fix problems that rhino thought were fine, but were continuously rejected by downstream manufacturing applications.
Note I didn’t model or actually fix anything in inventor, I used it as a rather expensive add on to run checks - as I said somewhere else in another post, rhino has all the tools to create robust and clean models; what is seriously lacks are the tools (standard in competing, but admittedly more expensive software) to analyse and check these models.
Until it has these, exporting parts to downstream manufacturing processes are pretty much flying blind.
Further, tools it does have that can help are either poor (seldup - see post by Roland earlier) or “hidden”. An example of a “hidden” tool that can often sort out short and overlapping curves is CurveBoolean - but who would know?
We wouldn’t know because the actual name of the tool, and its location in the UI, give no clue it could be used this way. (UI discussion again…)
So, in absence of anything else, checknewobjects is the best first defence I’ve found against stuff going haywire, and at present I cant see a valid reason to not have it running all the time.