Zdecydowanie odradzałbym używanie mysql do przechowywania sesji. Sugerowałbym użycie redis lub memcache. Redis będzie przechowywać dane na dysku na wypadek awarii serwera. Redis umożliwia również ustawienie czasu TTL, aby wygasła sesja, co rozwiązałoby problem #4.
Jeśli korzystasz z połączeń opartych na odpoczynku, sugerowałbym dodanie sesji do nagłówka jako pliku cookie i przekazanie go tam iz powrotem. Zasadniczo emulując sposób, w jaki przeglądarka miałaby dostęp do tej strony. Myślę, że to też ułatwiłoby testowanie.