Finalmente, gracias a Keith, he conseguido solucionar los problemas que anteriormente estaba arrastrando sobre la selección de los contactos. Como ya dije, eran debidos a la versión del API que estaba utilizando de Android. Una vez cambiado a una versión posterior, espero que los problemas no vuelvan a reproducirse.
He tratado en lo posible también hacer bastantes pruebas, ya que el cambio podría afectar a la estabilidad, y espero no haber incluido problemas graves con estos cambios. Estaré pendiente por si surge alguno y trataré de solucionarlo rápidamente.