Ditto ColleenV, but one other point:
If someone says "not after midnight" (or whatever time -- "not after dawn", "not after 9:00", "not after Fred gets back", etc) that means that some event does not happen at a time following the specified time. Usually this is used to describe some on-going event, and not a one-time event like closing. Like if someone asked, "Is there a lot of traffic on First Street?", someone might reply "Not after midnight", meaning, there may be a lot of traffic before midnight, but not after. That answer would be meaningful if the person answering had reason to believe that the asker is particularly interested in traffic after midnight, and so he wants to make clear that while you might see a lot of traffic if you go there earlier, you won't see so much after midnight. It wouldn't be a helpful response if the person is thinking about driving on that street at noon.
Normally if someone asks when a business closes, you tell them the time. Like, "When does this restaurant close?" "At nine p.m." You might use a phrase like "not after midnight" if you were unsure about the time. Like, "Hey, what time does this restaurant close? I was hoping to stay here until my friend Bob can pick me up, but that won't be until 2:00 am." "Oh, I'm pretty sure this place doesn't close after midnight. Maybe 10 or 11 pm." But even that would be a strained wording. You'd me more likely to say "I'm pretty sure it closes before midnight". You say when it is, not when it isn't.