Thanks
@MerryDay for the clarification.
For illustration, I used the share you provided 11 times to create quotes named cust0 - cust10. Any remaining "CustomXX" custom quotes/columns that had not been altered seem to be gone/renamed. The Watchlist customization menu has all cust0 - cust10. The Option Chain customization menu has cust0 - cust7. I had already modified 11 of the 19 provided. Since most of my past work was not for Option Chain columns, there is some level of sharing going on. In that respect, we may need to keep track of which quotes/columns are the original 19 as those appear locked in. I guess looking at the custom quotes from the Options Chain Customization menu will always tell us, but I noticed that many of my original watchlist custom quotes are taking up slots even though they are not appropriate for options chains. So I would have to move my watchlist custom quotes to new slots (above cust7) in order to free up the original 19.
Backup:
I started a manual process of backing up the custom column code. TOS does not appear to maintain any versioning as it does for studies.
1) For each custom column, I generally create a study with the same/similar code as much as possible. That study allows me to easily see if the code is behaving correctly. User defined studies are also easy to export.
2) Cut and paste custom column scripts into a *.ts file. There is no Export option for these scripts. I try to keep the naming consistent ending with "column.ts". Column names are limited to 16 characters, so my file names are similar but a little more verbose.
3) As an extra step to control versioning, I use external version control to track my code changes. GitHub Desktop with a local repository has worked well for me.
If you track of your code, you can switch back in different versions (or scripts for different approaches) as needed, as
@HDP pointed out the need to overwrite your scripts after you max out the available slots.