I have just pushed to the topic branch a partial fix for this bug, and for the cache incorrectness I posted about yesterday.
The cache incorrectness fix unpleasantly caused me to have to multiply the restarts, which makes the code ugly, and slops across cache.lisp and find-system.lisp, but I couldn't come up with a better solution.
The test for refinding needs some refining: as soon as I get that done (it's more a matter of getting the test systems set up properly than actually fixing any more ASDF code.
cheers, r