First, supposing $a_{n+1} = 0$ for some $n$, then $a_n = 0$, and if $n > 1$, we get $a_{n-1} = 0$. Repeatedly, we have $a_n = 0$, so $a_n \neq 0$ whenever $n > 0$.
\[
\frac{n(n+2)a_n}{n+1} - \frac{(n-1)(n+1)a_{n+1}}{n} = n(n+1)a_na_{n+1}
\]
is equivalent to
\[
\frac{n(n+2)}{(n+1)a_{n+1}} - \frac{(n-1)(n+1)}{na_n} = n(n+1)
\]
We obtain that
\[
\frac{(n-1)(n+1)}{na_n} = \frac13(n+1)n(n-1), \qquad n > 1
\]
Therefore $a_n = 3n^{-2}$ whenever $n > 1$.
Given that $|b_n| \le M$ over all positive integers $n$, thus whenever $n > 1$,
\begin{align*}
\left|\sum_{k=1}^n a_kb_k\right|
&\le |a_1b_1| + \sum_{k=2}^n \frac{3|b_n|}{n^2} \\
&\le |a_1b_1| + \sum_{k=2}^n \frac{3M}{(n-1)n} \\
&= |a_1b_1| + 3M \sum_{k=2}^n\left(\frac 1 {n-1} - \frac 1 {n}\right) \\
&< |a_1b_1| + 3M
\end{align*}
So
\[
\lim_{n\to\infty}\frac{\sum_{k=1}^n a_kb_k}n = 0
\]
Q.E.D.