Hi Jamie,
I understand that would be convenient but the place where its implemented is only executed when using related sites mode and I don't want to add something more complicated to meet that goal. In general when not using related sites mode the sites are independent and I don't want to start coding in little exceptions.
The main purpose of the close sites feature is so one could be creating the site content before it goes live to the public. It is not really reliable for upgrades though it might work for some upgrades it will not work when they involve updates to SiteSettings or SiteUsers tables because in those cases the sitesettings or site user cannot be loaded until after setup runs because errors will occur due to the schema changes, stored proc changes etc. So in those cases we can't check if the site is closed and we can't check if the user is allowed to view the closed site until after the setup page runs and gets the db back in synch.
For upgrades the safest way is to use an app_offline.htm file while uploading the new files then remove it and immediately visit setup page.
You could also execute a query to close the sites all at once and then touch Web.config to clear the site settings cache, or really as soon as you start uploading files it will clear the cache. Or you could implement a simple custom module to close all the sites and clear the sitesettings cache for each site if you really need that capability, I just don't see it as something I should bake in at this point.
Best,
Joe