Okay, there's nothing wrong with the install/upgrade code... this bug is only triggered when you submit options-general.php

I guess the blog_public option used to be there, so it was in the list of options to update, and gets blanked when you submit that options page. I thought I was going crazy looking at the install/upgrade code... "this should be working!"