So if I check out an object, make changes, then check in, remove from project and say "yes" I would lose changes, or only if I didn't checkin? I guess the best thing for me to do is just run several scenarios and see what happens to fully understand. In this specific case, the object was checked out/in in a different project.
In my mind they simply moved local spec DB to the server and added user and/or host to the PK. Seems like the change could have been completely invisible.