Your intuition is correct. That does not sound, and it isn't, right.
Let $x$ be the conditional probability that a hair is left at the scene given that somebody else did it. By the law of total probability, the probability that a hair is left at the scene is $$ 0.99 = 0.99 \times 0.1 + 0.01 \times x $$
So $x=89.1>1$, which cannot be a probability. The problem statement implicitly contains a probability larger than one, so the problem is wrong (but not Bayes). Since $x\le1$, the maximum probability that a hair is left at the scene is $$0.99 \times 0.1 + 0.01 \times 1=0.109$$ which is far less than $0.99$.
More specifically, the problem with the construction is that it does not satisfy the additivity axiom. The sum of _probability that dave did it and a hair was found_ and _probability that someone else did it and a hair was found_ should be equal to _probability that a hair was found_ , since the first two events are mutually exclusive.