My Solution:
$\forall \epsilon >0$, Fix any $K>\log_{2}(\frac{1}{\epsilon})$. Let $T=\{t\in \mathbb{N}:n>t \Rightarrow f(n)\leq \frac{1}{2^K}\}$.
If $T$ is empty, We can find distinct $n_1,n_2,...,n_K,n_{K+1}$ satisfying the inequality $f(n_i)>\frac{1}{2^K}$. However, they only map to $K$ values contradicting injectivity.
Hence $T$ can't be empty. We pick any element $t$ from $T$. Then we have that when $n>t \Rightarrow f(n)\leq \frac{1}{2^K}<\epsilon$.
Hence to conclude, $\forall \epsilon>0, n>t \Rightarrow f(n)=|f(n)|<\epsilon$. Since $f(n)$ is positive. So $f(n) converges$.
Any problem with this proof?
Your proof now is fine. But it is in a way overloaded since the set $T$ is not easy to grasp.
Take a look at the following:
Let an $\epsilon>0$ be given. There is an $N\in{\mathbb N}$ with $2^{-N}<\epsilon$. Since $f$ is injective there are only finitely many $k$ such that $f(k)\in S$ is $\ \geq2^{-N}$. Let $n_0$ be the largest of these $k$. If $n>n_0$ then $f(n)<2^{-N}<\epsilon$.