[step:Propagate vanishing first across space and then down to time zero]For $s\in[0,t_0]$, define the zero set at time $s$ by
\begin{align*}
Z_s:=\{x\in M:v(x,s)=0\}.
\end{align*}
Continuity of $v(\cdot,s):M\to\mathbb{R}$ implies that $Z_s$ is closed. The previous step gives the following local implication: if $x\in Z_s$ and $s>0$, then there are an open neighbourhood $U_x\subset M$ of $x$ and a number $\varepsilon_x\in(0,s]$ such that
\begin{align*}
v(y,t)=0
\end{align*}
for every $(y,t)\in U_x\times[s-\varepsilon_x,s]$. In particular, $U_x\subset Z_s$, so $Z_s$ is open whenever it is nonempty and $s>0$.
Since $x_0\in Z_{t_0}$ and $M$ is connected, the set $Z_{t_0}$ is nonempty, open, and closed in $M$. Hence $Z_{t_0}=M$, and therefore
\begin{align*}
v(x,t_0)=0
\end{align*}
for every $x\in M$.
Define
\begin{align*}
\tau:=\inf\{s\in[0,t_0]:v(x,t)=0\text{ for every }(x,t)\in M\times[s,t_0]\}.
\end{align*}
The set in this definition is nonempty because $t_0$ belongs to it. By continuity of $v$ on the compact set $M\times[0,t_0]$, the defining property is closed under decreasing limits, so $v(x,t)=0$ for every $(x,t)\in M\times[\tau,t_0]$.
If $\tau>0$, apply the local implication at time $\tau$ to every point $x\in M=Z_\tau$. The resulting neighbourhoods $U_x$ cover the compact manifold $M$, so choose finitely many points $x_1,\dots,x_N\in M$ such that $M=\bigcup_{k=1}^N U_{x_k}$. Let
\begin{align*}
\varepsilon:=\min_{1\leq k\leq N}\varepsilon_{x_k}>0.
\end{align*}
Then $v(y,t)=0$ for every $(y,t)\in M\times[\tau-\varepsilon,\tau]$, after replacing $\tau-\varepsilon$ by $0$ if necessary. Together with the already known vanishing on $M\times[\tau,t_0]$, this gives vanishing on a strictly larger interval $M\times[\max\{0,\tau-\varepsilon\},t_0]$, contradicting the definition of $\tau$ unless $\tau=0$. Therefore
\begin{align*}
v(y,t)=0
\end{align*}
for every $(y,t)\in M\times[0,t_0]$.[/step]