Nice! One little fix: changing the variable in the logout permits the player to run something multiple times in one session. Changing the variable in the logout is unreliable anyway, since sometimes the logout script is not called (mafia hangs, the session expires, or a script is run multiple times during debugging. It would be better to take care of it at the same time as everything else:
...
if( get_property( "_lastRun" ) != today_to_string() ) {
set_property( "_lastRun" , today_to_string() );
set_property( "_sessionNumber" , "1" );
} [b]else set_property( "_sessionNumber" , ( get_property( "_sessionNumber" ).to_int() + 1 ).to_string() );[/b]
...