Hello
Your question is related to so called "negative raising problem". It's one of the subjects many linguists studied and still now are studying.
When followed by a (that-) clause, verbs like "think" can be used in two ways: [1] "I think (that) he won't come" and [2] "I don't think (that) he will come". Type [1] and type [2] are same in the meaning but actually English speakers prefer type [2] to type [1]. This phenomenon is called "negative raising" and a verb that causes this phenomenon is called "NEG-raising verbs", which include verbs like "guess", "expect", "believe", "suppose", etc. Why do people prefer the negative raising? Some linguists say it is because the negation in the subordinate clause like type [1] sounds too precise and therefore too strong in "negative-ness" to be socially polite. I myself can't agree to this reasoning, because in my native language (=Japanese) there is no difference in politeness between types [1] and [2]. Anyway, when you use NEG-raising verbs like "think", "I don't think so" is more natural than "I think not".
"Hope" is in some way similar to verbs like "expect" or "believe". But there is a big difference. When you say "I expect/believe X", you don't mean by it whether X is good or bad to you. "Expect" and "believe" are neutral in the judgment about the value of the content in the subordinate clause. But when you say "I hope X", you are expressing your value judgment that X is good. You cannot say "We don't hope terrorists will do new terrors" to mean "We hope terrorists will not do new terrors". We can say both "We cannot hope President Bush will change his policies" and "We can hope President Bush will not change his policies", but they are different in the meaning. We can do a similar discussion about "be afraid". We can not make a negative raising for such value-judgment connoting verbs. I believe this is why we should say "I hope not" instead of "I don't hope so".
paco