First, if the Hamiltonian is time-independent, and your Hamiltonian is assuming that $\vec A$ doesn't depend on time, then energy – the Hamiltonian itself – is conserved.
So what we mean by the magnetic field's doing no work is that the kinetic energy of the particle doesn't change i.e. the speed doesn't change. So one must determine what the kinetic energy or speed is.
By the Heisenberg equations of motion (or, by an equivalent classical procedure of relating $L$ and $H$ and the canonical velocities with canonical momenta), the speed may be determined from the commutator of $H$ with $x$ because
$$ i\hbar \frac{d}{dt} \vec x = [\vec x,H]$$
is the Heisenberg equation of motion for $x$. Hats are everywhere. Taking your Hamiltonian, the only building block that refuses to commute with $\vec x$ is $\vec \nabla$. If you apply the Leibniz rule, you will easily see that
$$ i\hbar \frac{d}{dt} \vec x = [\vec x,H] = \frac{1}{m}\left[\frac{\hbar}i \vec \nabla - \frac{q}{c}\vec A(\vec x)\right]$$
so the speed – the rate of change of the position – is given by the operator that has both the nabla as well as the vector potential, in the very same combination you wrote. It follows that the kinetic energy is
$$ E = \frac{mv^2}{2} = H $$
i.e. it is exactly equal to your Hamiltonian. The whole Hamiltonian you wrote is the operator of kinetic energy. It commutes with itself so the kinetic energy is conserved (hint: write the Heisenberg equation of motion for the kinetic energy itself) which means that the magnetic field does no work on the charged particle.