En MYSQL, FALSO
no es un valor booleano, es un número entero, más específicamente cero. De hecho, MySQL no tiene tipos de columnas booleanas (tiene BOOL y BOOLEAN pero son meros alias para TINYINT ). Entonces su consulta es un sinónimo de:
SELECT * FROM session WHERE token = 0
Desde token es un VARCHAR, MySQL necesita convertir sus cadenas en número. Ejecute esta consulta y obtendrá una idea sobre las reglas:
SELECT
0 + "0001",
0 + "123abc",
0 + "abc123"
Como resultado, fa356333dd3ee8f1b18b8bf0a827e34c convierte a 0 porque comienza con una letra, por lo tanto la coincidencia.