The problem went away (almost!) when I called the CSP from ASP using "window.showModalDialog". This seemed to ensure that all session variables were created/destroyed in the correct scope. Or so I thought! The problem remains for one report - as you have found. Unfortunately, I don't think I'll be able to try it on a different server, as you suggested, until the system goes live, so I'll just have to hope your theory holds for us!