Always vote to close immediately. I explain the rationale behind this approach in further detail here.
In summary: Yes, it increases the chances that the question will be closed, but that's actually a good thing for a couple of reasons:
It increases the likelihood that the user will take notice and actually fix their question in response to your suggestions. Unless you're dealing with a particularly conscientious user (and this is rare, because their questions are unlikely to be candidates to close in the first place), it's more likely that they'll ignore your comments as long as they can continue to get answers.
It prevents a flood of immediate answers (arguably a symptom of the well-known "Fastest Gun in the West" problem) that are speculative at best and/or will be completely invalidated after the question is modified to turn it into a real question. Those answers don't do anyone any good, and they're best avoided if at all possible.
And no, it does not force the author to re-post his question, not immediately or ever. Even questions that have been closed can be edited by the owner. So once the question is closed, that would be an appropriate time to sit up and take notice of the helpful comments that have been provided by the close voters. And once the question has been sufficiently improved, it can be re-opened, either with the vote of 5 different users (they can be the same ones who voted to close) or the binding vote of a moderator.
If you see a user posting a second question because his first one was closed, flag and/or close the second one as a duplicate of the first and ask him to go back and edit the original question instead.