Assuming your navigation system goes to the same domain, another reason for this might be process switching. Starting with IE8, IE "chrome" and the contents of the tab have been split into two processes. IE can then create several content processes for content in different windows and tabs.
If your application hosts a web browser control that then launches a full IE window, it is likely that your new URL is being requested by a different process (iexpore.exe) rather than your application process. As a result, the request does not have access to the session files, so the session appears to be "lost."
(It is worth noting that instances of multiple instances of iexplore.exe in the same process tree have the ability to share session cookies with each other).
source share