For most VoIP systems (hosted and premise) the programming of the phones will go top-down, from the server to the phones. Once you setup the phones the way you want, the provisioning process will push out the setting to the phones. This will usually replace any custom configuration in the phones. If you make changes in the phone directly using a config file or the Web GUI, then you will run the risk of losing that configuration when the server pushing out a new config file.

If you have changed the configuration of the phone after the phone is provisioned, then you still run the risk of losing that configuration later. Many times the phones will check the server and update the configuration. Even if the phone doesn't poll at regular intervals, any small changes to the phone will cause a new config file that could erase all the old. Some settings may survive, such as speed dial settings, but key configurations are sure to be lost.

Are you able to access the admin settings in the 3CX or is this managed by another company? Typically an admin can make changes in the 3CX server which will get pushed out to the phones during the provisioning. That would be the preferred method of making changes to the phone. I read that there may be a user portal. I don't know what setting a user would have. I haven't personally accessed the user portal on a 3CX system before.