[guided]The important point is that a zero Wronskian at one point gives equal initial data for a nontrivial linear combination. We make this precise.
For any solution $w$, define its phase vector $Y_w:[a,b]\to\mathbb{R}^2$ by
\begin{align*}
Y_w(x)=\bigl(w(x),(Pw')(x)\bigr)
\end{align*}
This is the correct phase vector because the Sturm-Liouville equation controls $(Pw')'$, not necessarily $w''$. If $W(c)=0$ at some point $c \in [a,b]$, then the coordinate determinant of $Y_u(c)$ and $Y_v(c)$ satisfies
\begin{align*}
u(c)(Pv')(c)-v(c)(Pu')(c)=-W(c)=0
\end{align*}
so the two vectors $Y_u(c)$ and $Y_v(c)$ are linearly dependent. Hence there are $\lambda,\mu \in \mathbb{R}$, not both zero, such that $z=\lambda u+\mu v$ satisfies
\begin{align*}
z(c)=0
\end{align*}
and
\begin{align*}
(Pz')(c)=0
\end{align*}
Now define $Z:[a,b]\to\mathbb{R}^2$ by $Z(x)=(z(x),(Pz')(x))$. Since $z$ also solves the same linear equation, $Z$ solves
\begin{align*}
Z'(x)=A(x)Z(x)
\end{align*}
with
\begin{align*}
A_{11}(x)=0,\quad A_{12}(x)=1/P(x),\quad A_{21}(x)=Q(x),\quad A_{22}(x)=0.
\end{align*}
The entries of $A$ are continuous because $P\in C^1([a,b];\mathbb{R})$, $P>0$ on $[a,b]$, and $Q\in C([a,b];\mathbb{R})$. Thus $A$ is bounded. Let
\begin{align*}
M=\sup_{x\in[a,b]}\|A(x)\|_{\mathrm{op}}
\end{align*}
where $\|\cdot\|_{\mathrm{op}}$ is the operator norm induced by the Euclidean norm on $\mathbb{R}^2$. Let $\mathcal{L}^1$ denote one-dimensional Lebesgue measure on $\mathbb{R}$.
Since $Z(c)=0$, the fundamental theorem of calculus gives, for $x\ge c$,
\begin{align*}
Z(x)=\int_c^x A(t)Z(t)\,d\mathcal{L}^1(t)
\end{align*}
Taking Euclidean norms and using the operator norm estimate $|A(t)Z(t)|\le \|A(t)\|_{\mathrm{op}}|Z(t)|$ gives
\begin{align*}
|Z(x)|\le \int_c^x M|Z(t)|\,d\mathcal{L}^1(t)
\end{align*}
Choose $\delta>0$ so that $M\delta<1$ when $M>0$; if $M=0$, any positive $\delta$ works. Suppose $Z(r)=0$ on the left endpoint of an interval $[r,s]\subset[c,b]$ with $s-r\le\delta$. Then for every $x\in[r,s]$,
\begin{align*}
|Z(x)|\le M(s-r)\sup_{y\in[r,s]}|Z(y)|
\end{align*}
Taking the supremum over $x\in[r,s]$ gives
\begin{align*}
\sup_{x\in[r,s]}|Z(x)|\le M(s-r)\sup_{x\in[r,s]}|Z(x)|
\end{align*}
Because $M(s-r)<1$, this forces $\sup_{x\in[r,s]}|Z(x)|=0$. Thus $Z$ vanishes on that interval. Repeating over finitely many intervals covers $[c,b]$.
To move left from $c$, take $x\le c$. Since $Z(c)=0$, the fundamental theorem of calculus gives
\begin{align*}
Z(x)=-\int_x^c A(t)Z(t)\,d\mathcal{L}^1(t)
\end{align*}
Taking norms gives
\begin{align*}
|Z(x)|\le \int_x^c M|Z(t)|\,d\mathcal{L}^1(t)
\end{align*}
If $[r,s]\subset[a,c]$, $Z(s)=0$, and $s-r\le\delta$, the same supremum estimate gives $Z=0$ on $[r,s]$. A finite chain of such intervals from $c$ to $a$ gives $Z=0$ on $[a,c]$. Therefore $Z=0$ on $[a,b]$, so $z=0$ on $[a,b]$.
But $z=\lambda u+\mu v$ and $(\lambda,\mu)\neq(0,0)$, which says exactly that $u$ and $v$ are linearly dependent. This contradicts the hypothesis. Therefore $W$ cannot vanish at any point, and since it is constant, its constant value is nonzero.[/guided]