I'm not sure that this is going to work if I'm reading it correctly.  Even if a user doesn't change a value in his session for many hours, we still need to note the fact that he accessed it because the timeout is timeout-after-no-access, not timeout-after-no-modification.