If $\,\lim_{n\to\infty}f(nx)\,$ exists, for all $x\in\mathbb R$, then so does $\,\lim_{x\to\infty}f(x)\,$
A counterexample has already been provided in response to (a). I'll answer (b) in the affirmative. The solution, which relies on the Baire Category Theorem, is an extension of my answer to this question from a while back, which is similar but makes the helpful assumption that the limits $\lim_{n\to\infty}f(nx)$ are all zero. There is, however, a completely different solution—given in Selected Problems in Real Analysis by Makarov et al.—that does not use the Baire Category Theorem, but instead relies on a lemma: If $G_1$ and $G_2$ are unbounded open sets in $\mathbb R^+$, then there is a number $x_0$ such that $nx_0\in G_i$ for infinitely many $n$. The proof employs Cantor's intersection theorem. Links to the book can be found in the other question I mentioned.
Anyways, here's my own proof. Fix $\epsilon > 0$ and define $$ E_N = \left\{x: |f(nx)-f(mx)|\leq \epsilon\text{ for all }n,m\geq N\right\}. $$ The sets $E_N$ are closed (write $E_N$ as the intersection over $n,m\geq N$ of the sets $\{x:|f(nx)-f(mx)|\leq\epsilon\}$, which are closed by the continuity of $x\mapsto |f(nx)-f(mx)|$). But also $[0,\infty)\subset\bigcup_NE_N$, so the Baire Category Theorem furnishes a nonempty open interval $(a,b)\subset \mathbb R^+$ and an integer $N$ such that $(a,b)\subset E_N$. This means that if $x\in(na,nb)$ for some $n\geq N$, then $|f(x)-f(mx)|\leq\epsilon$ for all $m\in \mathbb N$.
Choose $M'\geq N$ so that \begin{align*} (M'a,\infty)=\bigcup_{n\geq M'}{(na,nb)}; \end{align*} any $M$ bigger than $a/(b-a)$ will suffice. Thus, writing $M = M'a$, \begin{align*} \text{$|f(x)-f(mx)|\leq\epsilon\,$ for all $\,x>M$ and $m\in \mathbb N$.}\tag{1} \end{align*}
Next define $g(x)=\lim_{n\to\infty}{f(nx)}$. We want to show that $g$ is constant. If $m$ is a positive integer, then $\{f(nmx)\}_{n=1}^{\infty}$ is a subsequence of $\{f(nx)\}_{n=1}^{\infty}$, and since the latter sequence converges to $g(x)$, the former does as well. Thus $g(x)=g(mx)$ for all integers $m\in \mathbb N$ and $x>0$. It follows by replacing $x$ with $x/m$ that $g(x/m) = g(x)$ and then that $g(x) = g(rx)$ whenever $r$ is rational. Therefore, as we'll see, it is sufficient to prove that $g(x) = g(y)$ when $x$ and $y$ are very large and very close to one another.
Making $m\to\infty$ in $(1)$ gives \begin{align*} \text{$|f(x)-g(x)|\leq\epsilon\,$ for all $\,x>M$.}\tag{2} \end{align*} Now pick $x,y>0$ arbitrarily. Then for all rational numbers $r$ and $s$ for which $rx$ and $sy$ are bigger than $Ma$, it follows from $(2)$ and the triangle inequality that \begin{align*} |g(x) - g(y)| & = |g(rx) - g(sy)| \\ & = |g(rx) - f(rx) + f(rx) - f(sy) + f(sy) - g(sy)| \\ &\leq 2\epsilon + |f(rx)-f(sy)|. \end{align*} Fixing $s$ and making $r\to sy/x$ through $\mathbb Q$, for instance, shows then that $|g(x) - g(y)|\leq 2\epsilon$; of course, $\epsilon$, $x$, and $y$ are arbitrary and so $g$ is constant, say $g\equiv A$.
Finally, $(2)$ shows that $f(x)\to A$ as $x\to\infty$, hence the limit exists.
Hint: If $f(x)=1$ on rationals and $0$ otherwise, then for any $x\in\Bbb R$, we have $\lim_{n\to\infty} f(nx)$ exists. What about $\lim_{x\to\infty} f(x)$?
What changes if $f(x)$ is continuous?