The closed state is kept in an app var and it's possible it gets reset. If you add something like this near the bottom of your config.asp, it will be kept closed until you change it again:
Application(strCookieURL & "down") = true
Application(strCookieURL & "DownMessage") = "The forum will be down for a few hours for a major database upgrade. " & _
"Thank you for your patience." & VbNewLine & VbNewlIne