Go look up the original SCOTUS case for the state secrets defense: it was based on Pentagon lies. There was no, repeat NO national security secret involved, merely facts which would have embarassed people and possibly ruined careers (which should probably have been ruined).
I don't think it's so cut and dry with United States v. Reynolds. Sure, the documents actually didn't contain state secrets about the B29. But then again, SCOTUS didn't examine the documents.
SCOTUS is basically saying with this precedent "If the executive says it's a war secret, it's a war secret, and the tort case of some grieving family can wait for another day."
So maybe we don't agree with that precedent, and we need a new law. Current precedent did not occur because SCOTUS read the docs and let the government lie, though. It occurred because the justices decided not to read the document, and instead put national security above a tort.