Are there any errors in the following attempt to prove the above?
$(\Leftarrow)$ Let $f(x)=b^x$, with $0 \leq b<1$. Then, for all $x$, $f(x)>0$ and $f'(x)=b^x \ln(b)<0$. This means that $f$ is decreasing and bounded below by 0, and so $\lim_{x\to\infty} f(x)=0$.
($\Rightarrow)$ Let $f(x)=b^x$. In order for $f$ to be defined, $b \geq 0$. If $\lim_{x\to\infty} f(x)=0$, then for any $\epsilon>0$ there is an $N$ such that, for all $x$, $x>N \implies |f(x)-0|=f(x)<\epsilon$. This can be the case only if $0 \leq b<1$.
Your $\implies$ is not solid. I think that it is better to do it by contraposition. If $b \ge 1$, then $b^x = \exp(x \log b) \ge \exp(0) = 1$ for all $x \ge 0$. So $\lim_{x \to \infty} f(x) \neq 0$.