Eu desencorajaria você de usar o mysql para armazenar sessões. Sugiro usar redis ou memcache. O Redis armazenará os dados em disco caso seu servidor falhe. O Redis também permite que você defina um TTL para expirar a sessão, o que resolveria o #4.
Se você estiver usando chamadas baseadas em descanso, sugiro apenas adicionar a sessão ao cabeçalho como um cookie e passá-lo para frente e para trás. Basicamente emulando a maneira como um navegador acessaria essa página. Acho que isso facilitaria o teste também.