As an FYI, I think I have narrowed it down to the fact that an AJAX
request is issued to the same URL as the page itself. I think since
they both have the same URL, the cache gets messed up. Such a
technical explanation!
If you login and try to lock or unlock some threads, then hit reload,
it will revert to the state of the page you started at. Hitting shift-
reload will get the expected results. (Note: it is inconsistent the
first couple of times, but after 3 it is 100% consistent). All these
AJAX calls are POSTs to the same URL as the page itself. Adding random
garbage to the URL of the AJAX POST seems to fix the problem (though
completely messes up the expectations of the server side framework we
are using).
Likely, users of PHP PRADO as well as
ASP.NET will likely experience
this issue at some point.