Moreover, the case when \Omega_{\nu}h^2 > \Omega_{\nu}h^2_{sterile} seems to be valid all the time when a sterile neutrino is included, since in Params_CMB.f90, \Omega_{\nu}h^2_{sterile} has been added to \Omega_{\nu}h^2

Given the values of the total neutrino density, sterile density and total N_eff it is trying to assign values to the standard neutrinos. By default the standard netrinos are assumed to have standard thermal history (i.e. heated slightly at electron-positron annihilation, so N_eff = 3.046/3 per species). And the analysis assumes that the standard neutrinos have the minimal hierarchy, so there's one eigenstate with 0.06eV mass (so \Omega_nu h^2 is greater than just the sterile contribution). The steriles are assumed not to be heated at electron-positron annihilation.

The non-integer N_eff (slight heating) of massive neutrinos is handled by assignining it to the eigenstate degeneracy parameter: one eigenstate with non-integer degeneracy factor is equivalent to changing N_eff because everything is a function of m/T.