The CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL tells the
certificate verification engine to not go out of box to obtain any newer CRLs or
issuer certificates. Therefore, if there is no CRL locally on the machine, or
the one that is locally on the machine is expired or otherwise invalid, you will
get that error.
In your user's case, if he didn't have the root
installed, the certificate chain would fail to validate, and hence revocation
would not be performed at all and this error would be returned. When the user
installs the root certificate, the certificate chain is then valid, revocation
is checked and an apparently updated CRL is found on the local machine, thus
getting rid of that error.