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$, f'(x_n)-f'(x)\ge(x_n-x)\cdot\inf f''\ge-K\cdot(x_n-x), hence f'(x)\le f'(x_n)+K\cdot(x_n-x)\le-2u+K\cdot(x_n-x), 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.