Any experts in connection management? I'm struggling.

We have code that manages connections very well using active objects. It's mature code and well tested and works on a large collection of S60 & uiq devices.

On the N76 if we initiated a connection with RConnection.Start(...) with an IAP that is invalid (maybe a PAYG sim in phone with only contract IAP setup) then we eventuallly see an error status of -4161. This is fine and what I expected and our code deals with the error. However, if we issue 2 or more .Start(...) with the same invalid IAP then the first will complete with the error (good) but any call to the RConnection object including Close() will hang and will require a battery out reset (bad).

So, I adjusted our code so that if we are unsure the IAP will work then I serialise the RConnections. This now works fine. However, if after trying a invalid IAP (still getting -4161) we try a valid IAP we are completed with KErrNone, which is great, BUT there is a dialog on the phone saying "maximum connections in use...." - RConnection.EnumerateConnections(...) returns a count of 1!!!!. Also I noted that the app happily carries on working and does it's networking stuff. We just have a dialog on screen.

Anybody seen this and know of a clever work around?