Quote
When is clear_online() triggered? It seems as if it won't be triggered or the variable $Outdated has a bad value.
clear_online (deleting inactive users from the _ONLINE table) is triggered:
When the Cache is cleared
When a post is added
When a user logs out
When the who's online page is accessed
When debugging is turned on and the My Cookies page is accessed


I would advise you take the official fix (the v8 approach) here and set the _ONLINE table to NOT be a memory table and instead write to the disk, more information can be gleaned here.