Not sure how this ever worked with cmucl, but user-homedir-pathname on cmucl returns #p"home:", where "home:" is a search-list. In some cases, it looks like asdf is trying to create the cache directory and end up with a path like
P"home:.cache/common-lisp/cmu-21a__21a_unicode_-macosx-x86/**/*.*.~*~"
but this confuses other parts of asdf and cmucl when trying to run pathname-match-p.
Perhaps the best thing is to make asdf us a custom user-homedir-pathname like what is done with other lisps. An appropriate version would be
(defun user-homedir-pathname () (first (ext:search-list (cl:user-homedir-pathname))))
-- Ray