Up to date assets are cooked when a project is not located inside UE4 root directory.
An Additional note from the user:
"My impression is this issue is caused in part by FPaths::MakeStandardFilename() being unable to create a relative path if the project directory is outside of the root directory and it appears that there are mismatches between relative and absolute path strings. I saw cases where FPackageNameCache::GetCachedPackageFilenameToPackageFName() was returning NULL because the passed in StandardPackageFilename did not match the path generated in FPackageNameCache::Cache() that was causing cooked assets to be deleted."
Steps to Reproduce:
Cooked assets should not rebuild when unchanged.
Cooked assets are rebuilt when unchanged.
To contrast this behavior:
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-92421 in the post.