It turns out that caching negative results from FIND-SYSTEM search overrides the ERROR-P option to FIND-SYSTEM. If ERROR-P is T, but a NIL result is found in the cache, FIND-SYSTEM will return the NIL instead of raising a MISSING-COMPONENT error.
I have just pushed a new test-cache.script that fails because of this bug.
I will try to fix this tomorrow -- it's a little tricky, the logic is baked into WITH-ASDF-CACHE, I believe. FIND-SYSTEM will have to get refactored to move the error-handling outside WITH-ASDF-CACHE.