Is the set of terms of a sequence countable? According to Rosen, an infinite set A is countable if $|A|= |\mathbb{Z}^+|$ which in turn can be established by finding a bijection from A to $\mathbb{Z}^+$.
Also, a sequence is defined as a function from $\mathbb{Z}^+$ (or $\{0\} \cup \mathbb{Z}^+$) to some set.
With the above, a sequence is certainly enumerable. However, it need not be a bijection, e.g. Fibonacci(1) = Fibonacci(2) = 1.
This implies that not every sequence is countable which seems counterintuitive. Are there any results in this regard? Is there a mistake in the reasoning above?

"However, it need not be a bijection"
No, it doesn't.
"This implies that not every sequence is countable"
Why do you say that?  
$f: \mathbb Z^+ \to B$.  If $f$ is not surjective then there are points of $B$ that are not in the image.  Those to not matter.  We can restrict ourselves to $f: \mathbb Z^+ \to Im(B)$.
This must be surjective.
It doesn't need to be injective however and your Fibinocci example shows.
But... so what?  Than means $|Im(B)| \le |\mathbb Z^+|$.
Hence it MUST be countable (or countably finite).
Anyway, as the terms of a sequence, as opposed to a set, need not be distinct it is possible, indeed common, for a sequence to have a finite number of distinct terms infinitely repeated.
