Le desaconsejaría encarecidamente que use mysql para almacenar sesiones. Sugeriría usar redis o memcache. Redis almacenará los datos en el disco en caso de que su servidor falle. Redis también le permite configurar un TTL para que caduque la sesión, lo que resolvería el #4.
Si está utilizando llamadas basadas en descanso, sugeriría simplemente agregar la sesión al encabezado como una cookie y pasarla de un lado a otro. Básicamente emulando la forma en que un navegador accedería a esa página. Creo que eso también facilitaría las pruebas.