Is Magnus effect a corollary of Bernoulli principle?
This is a most excellent and astute question. Ultimately it comes down to experiment: the model below works pretty well for many fluids. What this must mean therefore is that the loss is small enough that each particle of fluid, in flowing past the region of disturbance, loses a fraction of its energy that is small enough that it doesn't upset the energy balance underlying the Bernoulli equation greatly. At the same time the viscosity is big enough that the cylinder can sustain the circulation in the flow.
Once one has established a circulation in a flow, the circulation will linger - sometimes almost indefinitely, with very little further input of energy. The Vorticity Equation shows this. You can therefore think of a situation where the cylinder just "happens" to be sitting in a flow with circulation without worrying about how that circulation arose. One can then come up with a lossless mathematical model that does indeed show the Magnus effect, which, judging from the depth and astuteness in your question, you may already ken. In this model, the flow has a certain assumed circulation and one does not think about how this circulation came about. I am talking about the an inviscid, irrotational flow whose complex velocity potential is:
$$\Omega : \{z\in\mathbb{C}|\;|z| > a\}\to \mathbb{C};\;\Omega(z) = a\, v^*\left(\frac{z}{a} + \frac{a}{z}\right) + \frac{\Gamma}{2\,\pi\,i}\,\log z\tag{1}$$
where $v\in\mathbb{C}$ is the fluid's velocity a long way from the cylinder (i.e. the cylinder is steeped in an initially uniform flow) and $\Gamma\in\mathbb{R}$ is the circulation. The cylinder's cross section is the region $\{z\in\mathbb{C}|\;|z| \leq a\}$.
This is a perfectly steady state flow, and, once the circulation is set up, it sustains itself. There is no loss anywhere in the model, so you apply the Theorem of Blasius to calculate the lift, which is simply the quantitative calculation around the cylinder of the wonted Bernoulli's theorem argument.
So you could imagine the following thought experiment (not practical). You have a magic fluid whose viscosity you can switch on and off at will. You have a uniform flow in this fluid and you steep your cylinder in it, and, with internal motors or whatever, you spin the cylinder and the lossy viscosity will set up a circulation in the flow. Then you switch the viscosity off suddenly. The circulation will linger in the flow and now, in the absence of loss, you can do the calculation above and see that there is indeed a lift. Note that one always needs a circulation to generate nonzero lift.
Question by OP
I agree with you that the circulation is the key reason for the lift. But the Bernoulli argument is somehow flawed because the velocity difference does not lead to pressure difference, it is the circulation that leads to pressure difference. Bernoulli principle always assumes no viscosity and vorticity. Do you think Bernoulli Principle is abused even in a heuristic argument?
It is still the Bernoulli argument that describes the origin of the pressure gradients and thus, ultimately, the force. The circulation simply introduces an asymmetry to the flow that then makes the sum of pressures nonzero.
The Blasius Theorem is equivalent to the Bernoulli principle as shown as follows: on a section $\mathrm{d} z$ of a contour around the body in the complex plane, the pressure force by the Bernoulli principle is:
$$-\frac{i\,\rho}{2}\,(|v|^2-|\mathrm{d}_z\Omega|^2) \,\mathrm{d}\,z^*\tag{2}$$
where $v$ is as defined in (1) and $\rho$ the fluid density. Here, as in (1), the vector direction is shown by the phase of the complex number. The contour around the body's edge is a streamline, so that the stream function (imaginary part of the complex potential) is constant along it. Therefore, around the edge of the body, $|\mathrm{d}_z\Omega|^2 = (\mathrm{Re}(\mathrm{d}_z\Omega))^2 = (\mathrm{d}_z\Omega))^2$ so that, on summing (2) around the closed contour to find the nett force we wind up with something near to an ordinary contour integral (on witnessing that $\oint v^2\,\mathrm{d}z=0$):
$$F^* = -\frac{i\,\rho}{2} \oint (\mathrm{d}_z\Omega))^2\,\mathrm{d}\,z = \pi\,\rho\,\sum \text{residues of }(\mathrm{d}_z\Omega))^2\text{ at poles within cylinder}\tag{3}$$
which is readily worked out to be $F^*=-i\,v^*\,\rho\,\Gamma$ so that $F=i\,v\,\rho\,\Gamma$, i.e. at right angles to the flow. So you can see that the result as worked out from the Bernoulli principle tells you that the lift is proportional to the circulation.