As Dieter Kadelka noted, the condition "$f(0)=0$ and whenever $f(a)=0$, then $f'(a)\ge0$ and $f''(a)\ne0$" is not sufficient for $f\ge0$.
The following condition will suffice for $f\ge0$:
Suppose that for some $m\in\{1,2,\dots,\infty\}$ a function $f\colon[0,\infty)\to\mathbb{R}$ with $f(0)=0$ has continuous derivatives $f^{(j)}$ on $[0,\infty)$ of all nonnegative integral orders $j<m$. (The derivatives $f^{(j)}(0)$ are understood as the right derivatives.) Suppose also that for any real $a\in[0,\infty)$ such that $f(a)=0$ there is a natural $k<m$ such that $f^{(j)}(a)=0$ for $j\in\{0,\dots,k-1\}$ and $f^{(k)}(a)>0$.
Indeed, suppose the contrary: the set $$E:=\{x\in[0,\infty)\colon f(x)<0\}$$ is nonempty. Let $a:=\inf E$. Then $a\in[0,\infty)$ and $f(a)=0$. So, there is a natural $k<n$ such that $f^{(j)}(a)=0$ for $j\in\{0,\dots,k-1\}$ and $f^{(k)}(a)>0$. So, by downward induction on $j$, in a right neighborhood of $a$ we have $f^{(j)}>0$ for all $j\in\{0,\dots,k-1\}$. In particular, $f>0$ in a right neighborhood of $a$, so that $\inf E>a$, which contradicts the definition of $a$.