Ti sconsiglierei vivamente di usare mysql per archiviare le sessioni. Suggerirei di usare redis o memcache. Redis memorizzerà i dati su disco in caso di arresto anomalo del server. Redis ti consente anche di impostare un TTL per far scadere la sessione, il che risolverebbe il numero 4.
Se stai utilizzando chiamate basate sul riposo, ti suggerirei di aggiungere semplicemente la sessione all'intestazione come cookie e passarla avanti e indietro. Fondamentalmente emulando il modo in cui un browser accederebbe a quella pagina. Penso che anche questo renderebbe più facili i test.