You probably know that a LTI filter is stable if and only if the poles of its transfer function are inside the unit circle.
So I guess you ask for a direct way of showing it in the case of your filter.
The transfer function of a filter is the $z$-transform of its impulse response. To show the filter is stable or unstable we have to show that its impulse response does or doesn't converge to zero over time.
Therefore we have to calculate the impulse response, given the transfer function of your filter.
To make things easier we first rewrite $W(z)$ as
$$W(z)=M\frac{(z-q)(z-q^*)}{(z-p)(z-p^*)}=M\frac{(1-qz^{-1})(1-q^*z^{-1})}{(1-pz^{-1})(1-p^*z^{-1})}$$
and knowing that convolution in the time domain leads to multiplication in the $z$-domain, we will just look at the filter with the transfer function
$$H(z) = \frac{1}{(1-pz^{-1})(1-p^{*}z^{-1})}$$
setting
$$F(z) = \frac{1}{1-pz^{-1}}\text{, }G(z) = \frac{1}{1-p^{*}z^{-1}}$$
we get
$$H(z)=F(z)G(z)\text{.}$$
We use the geometric series and write
$$\sum_{l=0}^{\infty}p^lz^{-l} = F(z)\text{ and } \sum_{l=0}^{\infty}(p^*)^lz^{-l} = G(z)\quad (|z|<|p|)\text{.}$$
Therefore the impluse response for the filter with transfer function $F$ is $f_n = p^n\quad (n\in\mathbb{N})$ and for the filter with transfer function $G$ it is $g_n = (p^*)^n\quad (n\in\mathbb{N})$.
Now we calculate the impulse response of the filter with transfer function $H$ by $f\circledast g$:
$$(f\circledast g)_n = \sum_{l=0}^{n-1}f_lg_{n-l} = \sum_{l=0}^{n-1}p^l(p^*)^{n-l}$$
Using polar representation for $p = |p|e^{i\varphi}$ and a geometric series we can deduce
$$(f\circledast g)_n
= \sum_{l=0}^{n-1}|p|^le^{il\varphi}|p|^{n-l}e^{-i(n-l)\varphi}
=|p|^ne^{-in\varphi}\sum_{l=0}^{n-1}e^{2il\varphi}
=\left\lbrace\begin{array}{lr}
|p|^nn\text{,} & \text{for } \varphi = 0 \\
|p|^ne^{-in\varphi}\frac{1-e^{2in\varphi}}{1-e^{2i\varphi}} & \text{for } 0<\varphi <\pi\\
(-1)^n|p|^nn\text{,} & \text{for } \varphi = \pi
\end{array}\right\rbrace$$
which converges to $0$ for $t\to\infty$ if and only if $|p| < 1$. So for $|p| < 1$ the filter is stable and for $|p| \ge 1$ the filter is unstable.
Now you can find the impulse response $(l_n)_{n=0}^\infty$ for the FIR filter $\mathcal{L}$ with transfer function $L(z) = M(1-qz^{1})(1-q^*z^{-1})$ (which is not so hard) and convolve it with $f\circledast g$ and deduce some inequalities to show $(l\circledast (f\circledast g))$ converges to $0$ over time if and only if $|p| < 1$.
array([0.96905238, 0.96905238])
$\endgroup$