(b) is the choice for the appropriate sentence form:
More people will donate--but when?
While dashes are to be avoided if commas, semicolons, or colons will serve to set off ideas or words, the dash is used to indicate a shift in thought or tone. And, such is the case in the above sentence; for, there is an afterthought expressed with the words "but when?" and the tone is doubtful in contrast to the first thought that people are sure to donate. Thus, the dash marks a break in the normal flow of the sentence that precedes it.
In addition, a dash, which signals a longer pause, causes more emphasis to be placed on the information that follows. In the first example, it is apparent that "but when" gets less attention than it does in the second sentence because there is no emphatic break. And, it certainly seems that the speaker wishes to express concern about when the donations will appear.