Si tu lógica ya valida tiempos de expiración para esa sesión .. no tiene sentido "forzar" a PHP para tal fin ..
De hecho estás reescribiendo/duplicando la gestión de sesiones de PHP, por qué con tu BD que guardas sesiones y tiempos ya tienes el 90% de lo que hace PHP de por sí .. te faltaría sólo tener un campo más para meter ahí serializadas por ejemplo las variables que contenga esa sesión.
Te vendría bien ver como se realiza el cambio del "handdler" completo (el "cómo guarda y gestiona las sesiones") PHP en:
http://www.php.net/manual/en/functio...ve-handler.php
Tienes ahí mismo ejemplos.
Y otro ejemplo que usa Mysql:
http://www.zend.com/zend/spotlight/c...lery-wade8.php
Si gestionas completamente tu mismo el "handdler" .. borrar una sesión (matarla) se trataría sólo de eliminar dicho registro de tu tabla, por qué todo lo gestiona tu tabla en tu BD.
---------
De todas formas .. si quieres probar algo que no sé si funcionará:
En teoría .. se puede definir el ID de una sesión en:
Código PHP:
<?
//tu lógica para obtener tu SID de tu BD
session_start($tu_sid);
//así que podrías hacer a continuación (si supuestamente iniciastes esa sesión):
session_destroy();
?>
Un saludo,