You have to ensure that OpenConnection, SubscribeTable and CloseConnection are invoked in the correct sequence.

According to your description, it seems that IE, upon a window restart, does not invoke, towards the Silverlight runtime, the same methods as other browsers
and that some different event has to be intercepted in order to call OpenConnection.

A different possibility is that you call OpenConnection and SubscribeTable from different threads, related with different events
and, for some reason:
- upon the first opening of the window OpenConnection gets called first,
- whereas, upon the second opening, SubscribeTable gets called first.

In any case, you should trace your calls to OpenConnection.
Unfortunately, we haven't got much expertise about how events are triggered in Silverlight.