Only time i encounter something similar is while working on a phprunner project, i.e. opened in PHPRunner, i used an external editor to edit and removed some files from the src folder, it became unpredictable when generated the project.
i did this because i needed to edit the file in JSON format and editing this format is not supported in PHPRunner. So, now I edit the output file instead and import the JSON file back into custom folder after editing.
But i think editing the database using PHPMyAdmin has no effect that triggers what you described, just sync the database after you make changes to the DB, as what i always do.
I also notice, when i add some new fields, the page will auto generate some default elements i removed, eg. profile/login menu, So i normally duplicate the page that i am satisfied as a backup page, and copy back to the default page, it works well for me. This could be what you experienced as not saving the changes.
The locking feature quoted by @HJB is for editing of html codes using the legacy editor tool (the old method we used to edit the page) which is now replaced by Page Designer since ver 10, it does not address your question about locking your page designed and it is also not advisable to edit your page directly using the Editor. Reason below:
Editor vs Page Designer:
if you use editor to edit page, subsequently if you add one new field in DB, it will not show up in the page, to make it show, you may have to reset the page, which brings it to original state, all your hardwork of modification will be lost. The locking function for Editor is to prevent user accidental reset and to continue to support project generated from previous versions.
If you use Page Designer, you will not have this issue. it addresses the editor's above shortfall to name one advantage.