I should add the multiple choices to UNLESS & related constraints, were it not for the fact that Weimer, in his infinite wisdom, decided to copy-and-paste the UNLESS code in thirty different places, rather than doing it once, making me cautious about changing that. Seriously, if a number of things were implemented just once, rather than being pasted every time it was used, the WeiDU source code would be 27000 lines of code, rather than 30000 (not to mention the risks involved with maintaining the same code in more than one place).
Also, COPY_EXISTING_REGEXP (and other stuff using regexp on file names) are in most cases case-insensitive. In your case, COPY_EXISTING ~^X#.*\.cre$~ would work (the . matches any character, so X#s1-8.cre would be matched, if used).