You should reformulate your problem. Let's define the vector $u$ as $u=\left(\begin{array}{c}A\\ B\end{array}\right)$ Then you can write your coupled system as $$\frac{\partial u}{\partial t}=\left(\begin{array}{c}a_0\\ b_0\end{array}\right)\left(u^T \left(\begin{array}{cc}0&0.5\\0.5&0\end{array}\right) u\right)$$
Now we can apply Crank Nicolson as defined in the wikipedia article:
$$\frac{u^{n+1}-u^n}{\Delta t}=\frac{1}{2}\left(\left(\begin{array}{c}a_0\\ b_0\end{array}\right)\left({u^{n+1}}^T \left(\begin{array}{cc}0&0.5\\0.5&0\end{array}\right) u^{n+1}\right)+\left(\begin{array}{c}a_0\\ b_0\end{array}\right)\left({u^n}^T \left(\begin{array}{cc}0&0.5\\0.5&0\end{array}\right) u^n\right)\right)$$
As one can see, this is a nonlinear function in $u$. So for solving this step of the Crank Nicolson scheme one should use an iterative scheme like Newton-Kantorovich with the Frechet derivative of the expression.
Edit:
Be $M=\left(\begin{array}{cc}0&0.5\\0.5&0\end{array}\right)$ and $c=\left(\begin{array}{c}a_0\\b_0\end{array}\right)$. To solve the nonlinear equation for each time step, we apply the Newton-Kantorovich iteration: $$N_u\Delta=-N(u)$$, here $N_u\Delta$ is the Frechet derivative of $$N(u)=\frac{u-u^n}{\Delta t}-\frac{1}{2}c\left(\left({u}^T M u\right)+\left({u^n}^T M u^n\right)\right)$$. I will use the greek index $\alpha$ to illustrate the fix point iteration. The Frechet derivative is defined as $$\lim_{\epsilon\rightarrow 0} N(u+\epsilon\Delta) -N(u)$$, hence $$N_u(u)\Delta=\left(\frac{1}{\Delta t}-c\left(u^T M\right)\right) \Delta$$.
Now for each time step, you do the fix point iteration starting with $u^{0,n+1}=u^n$ by solving $$N_u(u^{\alpha,n+1})\Delta=-N(u^{\alpha,n+1})$$ for $\Delta$, till $\Delta$ is small and updating $$u^{\alpha+1,n+1}=u^{\alpha,n+1}+\Delta$$ for each iteration step.
When the fix point iteration is converged (e.g.$|\Delta|<\epsilon$), you have found the next time step $u^{n+1}$ you can use in your Crank Nicolson scheme.