There will be a problem with the 'single' option, but the 'all' option should work. The only problem that I can see is that the code will not change nested xref layer properties. If that is what you want, then the code will need to be changed. This line of code
(if (and (not (vl-string-search "|" LayName)) (/= LayName "0") (/= (strcase LayName) "DEFPOINTS"))
is saying that if the layer name doesn't have the pipe symbol, which and xref layer would, and is not named '0' or 'defpoints' then update the layer within the current drawing to the settings of that in the xref file.
So you can use it as a guide to make your own routine to emulate how you do your drawings.
Hope it helped a little.