First off, the function $f(x)=\dfrac{bx}{(a-3)x^3 + x^2 + 4}$ has a cubic polynomial in the denominator (assuming $a\ne3$), and since we assume $a\in\Bbb{R}$, this equation must have a real root, which cannot be canceled by the $x$ in the numerator, because $x=0$ is not a root of the cubic (which instead evaluates to $4$ at $x=0$). In the vicinity of this root, $f(x)$ is unbounded above and below, so clearly it doesn't satisfy the criterion that $\operatorname{ran}f=[-8,8]$. Thus $a=3$ (in order to make the denominator have no real roots).
The new function $f(x)=\dfrac{bx}{x^2 + 4}$ has no poles, and goes to $0$ at $x\to\pm\infty$, and it's self-evidently continuous, so it takes on a maximum and minimum somewhere, which can be found using the first-derivative test. $f'(x)=-\dfrac{b(x^2-4)}{(x^2+4)^2}=0$ when $x=\pm2$, and at these points $f(x)=\pm\frac b4$. Thus $\operatorname{ran}f=\big[\!-\frac b4,\frac b4\!\big]=[-8,8]$ implies $b=32$.
The function is now $f(x)=\dfrac{32x}{x^2 + 4}$. Note that $f$ is odd. Thus $f(0)=0=m\cdot0$ is always a solution to $f(x)=mx$, and nontrivial solutions come in pairs $\pm x$, since $mx$ is also an odd function. Having discarded $x=0$, we can divide by $x$ and rearrange the equation to get $x^2 + 4=32/m$. This equation has a solution when $32/m > 4$ (noting that $32/m=4$ merely yields a triple root at $0$ which is stated to be inadmissible), which is equivalent to $0<m<8$. The case $m=0$ must be analyzed separately, but $\dfrac{32x}{x^2 + 4}=0$ only when $x=0$, so it is not in the case of interest. Thus $m\in(0,8)=(p,q)$ implies $p=0$ and $q=8$.
Putting it all together, we have $a+b+p+q=3+32+0+8=43$, so it looks like you got the answer right.