Error: Peer should not change id when it was already identified
This error can happen when your server image was restarted. When image starts "pharm" server first time it assigns peerId. Then client uses this peerId to identify new connections. Problem happens when image is started again with new server instance which assigns new peerId. If you will save your image with running server then peerId will be constant forever and this error should not happen.
This part needs improvement. At least PharmIDE disconnectAll should work. Disconnection notifies remote peer about disconnecting which can lead to errors like network or what you saw. I probably made some mistake on handling this errors. My idea was to show warning about problem with ability to ignore it by proceed action.
Now in such case you can manually reset default instance in method "PrmRemoteIDE class>>#default". Then following connection should work.