It seems the Access-denied page is getting cached. I have tried both $dest = drupal_get_destination(); and $dest = "destination=" . $_SERVER['REQUEST_URI']; as a test of this issue and both times this is what happens:
* Log out, clear browser cache, clear Drupal server cache
* navigate to a page which will trigger the Access-denied page
* log in as directed
* verify destination= var in the login URL is accurately the page I left from
* once logged in, I am returned to the page I intended to visit
* Log out, clear browser cache once again (or visit from a completely different machine with a cleared cache)
* navigate to a DIFFERENT page which will trigger the Access-denied page
* log in as directed
* destination= var in the login URL is inaccurately displaying the URL from the first time!
Now, if I were to clear the Drupal server cache and do this once again, it will re-set and will work, the FIRST time.
Why is this occurring? Any thoughts are much appreciated, I'm not sure how to make the Access-denied page work and it isn't worth having the destination attribute in the URL if it is inaccurate for every use following the first time after clearing the Drupal cache.