It's the translation that I used, but apparently 'Has he got a dog?' would have worked better. Otherwise the sentence could just as easily be 'Has he eaten a dog?' I think. Obviously that would translate into something different in German and that's probably the reason 'Has he a dog?' isn't considered an acceptable answer, it isn't specific enough.
Apparently the question "Does he have a dog?" does not translate into or from German. However, "Has he a dog?" is a formal and archaic form of English, and almost never used in the U.S.
Also, the question "He has a dog?" is a familiar form of English in the sense that the person asking the question knows the boy/man personally, but is surprised to learn "he has a dog!"