session_destroy elimina la sessione avviata da session_start(). Se vengono utilizzati due session_name() (es. uno per l'admin ed uno per l'user), devi avviare le due sessioni e distruggerle entrambe.

unset($_SESSION ...) NON distrugge la sessione, semplicemente unsetta (elimina) un indice dell'array $_SESSION.

Comunque sei sicuro che vengano usate due sessioni diverse e non, più semplicemente, due variabili di sessione differenti?