1 退出时,会设置 SESSION['isLogon']=false 或者 删除掉这个key.
  而针对用户直接关闭时.这点,就需要你对SESSION原理有一个比较深入的了解.
  你后面两个问题.都是属于对于SESSION原理不够了解造成的.
我简单讲讲吧.详细的可以参阅一下脚本语言对于SESSION的管理部分章节.HTTP的SESSION 一般都是通过一个 SESSIONID 来得到并处理的.每一次HTTP请求,浏览器会把COOKIE附带给请求数据包.而SESSIONID(一般来说,允许COOKIE时) 都会附带在COOKIE里.
如:
 Cookie: PHPSESSID=000010010100010; 这样的.服务器在收到请求后... 如果面页需要处理SESSION,那么,服务器会自动去SESSION存储的地方取以 000010010100010 为key 数据.然后载入到内存里供脚本使用..
这样.脚本要得到正确的值.必须要保证两个.
A  SESSIONID正确.也就是上面的 key.B  服务器的存储数据有值.对于你的问题:
   直接关闭浏览器.时,下一次HTTP请求,是否能正常得到 SESSION['isLogon']的值呢? 也就取决于上面两点.A SESSIONID正确.B服务器端有值.
   先说问题3:
   15分钟(通常服务器端有个SESSION生存周期)后,服务器会自动清理存储空间里过期的值. 也就是保证中.B. 15分钟后,即使你的Key正确.而服务器也不能正确返回SESSION值. OK,15分钟后的自动退出,也就不难做到了.再说问题1
   直接关闭(而非正确退出),这个你就需要对浏览器端关于Cookie的管理有个正确的了解. 一般的COOKIE设置是与浏览器进程有关的. 也就是说.你关闭网页后,这个网页当前的COOKIE(部分),在下一次打开网页时,就消失了.
   那么,当你不关闭网页时,可以拿到正确的Key (正确的COOKIE), 当你关闭网页,再打开时,COOKIE没有了.(Key不正确了)那么,你还能得到正常的 SESSION['isLogon'] 那就是天大的BUG了. 时间关系,上面只是肤浅地讲了一下. 更深入的了解需要你对HTTP协议及HTTP数据的流程有一个详细的知识积累.
Good Luck!