Probably you are using the same ID for different instances of DocumentViewer on different tabs.
stateId hash for a documentViewer instance is calculated according to documentViewer.Id + host page URL. So when you have same ID for different instances in the same host page, all instances will have the same stateId and the last loaded instance will overwrite the state (last one wins and all instances share the same state).
Solution is to change/vary documentViewer.ID inside DocumenViewerHost.aspx for different tabs.
For example in first tab, use documentViewer.ID="documentViewer1" and in second tab, use documentViewer .ID="documentViewer2".
You can also vary the documentViewer.ID according to the querystring of DocumenViewerHost.aspx.
So changing the ID will change the stateId and state will not be overwritten/shared.
Note that if you use DocumenViewerHost2.aspx (a different page) for second tab then you don't even need to change documentViewer.ID because host page path still changes stateId