We need to figure out how this happened.
Easier said than done. Probably a rogue plugin is changing blog_public meta values, but this is nearly impossible to track, especially for a one-time occurrence. The only plugin I know of that changes blog privacy settings on blogs other than the current blog is bp-groupblog. I've just done a brief audit and I can't see at a glance how even that plugin would be making this error, but it's possible.
A short-term fix, at least for the Commons main site, is to hardcode an exception to blog privacy rules, so that the main Commons blog cannot be set as anything but public (or, alternatively, it can never be hidden, even if the privacy level is set to private somehow). Obviously this is not a fix for the root of the problem, but it will at least prevent any repeats of the issue on the main site.
I'll continue to investigate to see if I can find any glaring issues that might have caused the problem in the first place, though I'm not all that hopeful.