As far as I can check, the adiabatic theorem in quantum mechanics can be proven exactly when there is no crossing between (pseudo-)time-evolved energy levels. To be a little bit more explicit, one describes a system using the Hamiltonian $H\left(s\right)$ verifying $H\left(s=0\right)=H_{0}$ and $H\left(s=1\right)=H_{1}$, with $s=\left(t_{1}-t_{0}\right)/T$, $t_{0,1}$ being the initial (final) time of the interaction switching. Then, at the time $t_{0}$, one has
$$H\left(0\right)=\sum_{i}\varepsilon_{i}\left(0\right)P_{i}\left(0\right)$$
with the $P_{i}$'s being the projectors to the eigenstates associated with the eigenvalue $\varepsilon_{i}\left(0\right)$, that we suppose known, i.e. $H_{0}$ can be exactly diagonalised. Then, the time evolution of the eigenstates is supposed to be given by
$$H\left(s\right)=\sum_{i}\varepsilon_{i}\left(s\right)P_{i}\left(s\right)$$
which is fairly good because it just requires that we are able to diagonalise the Hamiltonian at any time, what we can always do by Hermiticity criterion. The adiabatic theorem (see Messiah's book for instance)
$$\lim_{T\rightarrow\infty}U_{T}\left(s\right)P_{j}\left(0\right)=P_{j}\left(s\right)\lim_{T\rightarrow\infty}U_{T}\left(s\right)$$
with the operator $U_{T}\left(s\right)$ verifying the Schrödinger equation
$$\mathbf{i}\hslash\dfrac{\partial U_{T}}{\partial s}=TH\left(s\right)U_{T}\left(s\right)$$
can be proven exactly if $\varepsilon_{i}\left(s\right)\neq\varepsilon_{j}\left(s\right)$ at any time (see e.g. Messiah or Kato).
Now, the Berry phase is supposed to be non vanishingly small when we have a parametric curve winding close to a degeneracy, i.e. precisely when $\varepsilon_{i}\left(s\right) \approx \varepsilon_{j}\left(s\right)$. For more details, Berry defines the geometric phase as
$$\gamma_{n}\left(C\right)=-\iint_{C}d\mathbf{S}\cdot\mathbf{V}_{n}\left(\mathbf{R}\right)$$
with (I adapted the Berry's notation to mine)
$$\mathbf{V}_{n}\left(\mathbf{R}\right)=\Im\left\{ \sum_{m\neq n}\dfrac{\left\langle n\left(\mathbf{R}\right)\right|\nabla_{\mathbf{R}}H\left(\mathbf{R}\right)\left|m\left(\mathbf{R}\right)\right\rangle \times\left\langle m\left(\mathbf{R}\right)\right|\nabla_{\mathbf{R}}H\left(\mathbf{R}\right)\left|n\left(\mathbf{R}\right)\right\rangle }{\left(\varepsilon_{m}\left(\mathbf{R}\right)-\varepsilon_{n}\left(\mathbf{R}\right)\right)^{2}}\right\} $$
for a trajectory along the curve $C$ in the parameter space $\mathbf{R}\left(s\right)$. In particular, Berry defines the adiabatic evolution as following from the Hamiltonian $H\left(\mathbf{R}\left(s\right)\right)$, so a parametric evolution with respect to time $s$. These are eqs.(9) and (10) in the Berry's paper.
Later on (section 3), Berry argues that
The energy denominators in [the equation for $\mathbf{V}_{n}\left(\mathbf{R}\right)$ given above] show that if the circuit $C$ lies close to a point $\mathbf{R}^{\ast}$ in parameter space at which the state $n$ is involved in a degeneracy, then $\mathbf{V}_{n}\left(\mathbf{R}\right)$ and hence $\gamma_{n}\left(C\right)$, is dominated by the terms $m$ corresponding to the other states involved.
What annoys me is that the Berry phase argument uses explicitly the adiabatic theorem. So my question is desperately simple: what's the hell is going on there? Can we reconcile the adiabatic theorem with the Berry phase elaboration? Is the Berry phase a kind of correction (in a perturbative expansion sense) of the adiabatic theorem? Is there some criterion of proximity to the degeneracy that must be required in order to find the Berry phase?
REFERENCES:
Berry, M. V. Quantal Phase Factors Accompanying Adiabatic Changes. Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences, 392 45–57 (1984).
Kato, T. On the Adiabatic Theorem of Quantum Mechanics. Journal of the Physical Society of Japan, 5 435–439 (1950).
Messiah, A. Mécanique quantique Dunod (French reprint of the 1958 edition) (1995).