According to the reset_run help, if the -noclean option is used then "when the run is reimplemented, a new run directory will be created in the project runs directory."
This is not happening. The -noclean works in that directory and data is not deleted. However, when the run is re-implemented, the files in the existing directory are overwritten.
If any of the files are in use or have write permission disabled, the user will see errors such as the following (Depending on the file):
Vivado should create a new directory named impl_1_1 or similar if a run is launched after this command:
reset_run impl_1 -noclean_dir.
Until this issue is fixed, you should create a new run when creating multiple iterations of an implementation that require the output files preserved.