Both results are true.
First, the limsup:
If $f$ is nonincreasing, $f'(x)\le0$ for every $x$ hence $\limsup f'\le0$. Assume that $\limsup f'\le-2u$ for a given positive $u$. Then $f'(x)\le-u$ for every $x$ large enough, say for every $x\ge z$. Integrating, one sees that $f(x)\le f(z)-u\cdot(x-z)$ for every $x\ge z$. For $x$ large enough, namely $x>z+f(z)/u$, one gets $f(x)<0$, which contradicts the hypothesis that $f\ge0$ everywhere. Hence $\limsup f'=0$.
Second, the liminf:
We assume furthermore from now on that $f''\ge-K$ for some positive $K$. Assume that $\liminf f'\ne0$, then $\liminf f'<0$ and there exists a positive $u$ and an unbounded sequence $(x_n)$ such that $f'(x_n)\le-2u$ for every $n$. For every $x\le x_n$,
and $f'(x)\le-u$ for every $x$ in the interval $I_n=(x_n-u/K,x_n)$. One can assume without loss of generality that the sequence $(x_n)$ was chosen in a way such that the intervals $I_n$ are disjoint. Each $I_n$ has length $u/K$ and $f'(x)\le-u$ uniformly on $x$ in $I_n$ hence $f$ is at least $u^2/K$ smaller at the end of $I_n$ than at the beginning. Since $f$ cannot increase between the intervals $I_n$, after $I_n$ the function $f$ can only take values smaller than $f(0)-n\cdot u^2/K$, which for $n$ large enough is again a contradiction with the fact that $f\ge0$ everywhere.
Finally, $\liminf f'\ne0$ is impossible hence $\liminf f'=0$ and in fact, $\lim f'=0$.