since you asked: the autosave-based aircraft cache is used by FG to speed up finding $FG_ROOT aircraft, otherwise it would ALWAYS need to process ALL aircraft when you are running --show-aircraft, the cache saves time.
I am not sure if the --fg-aircraft option is cached at all - these features were developed years apart, and all three, --show-aircraft, the autosave cache and the --fg-aircraft option were each developed 2-3 years apart IIRC.
And frankly, I cannot come up with a reason why the local $FG_ROOT cache should also list external aircraft that do not reside in $FG_ROOT - conceptually, that doesn't seem to make sense ? Keep in mind that aircraft specified via --fg-aircraft could in theory reside on removable media (usb/flash drives), so caching them in $FG_ROOT would make no sense in my opinion, or rather, require tons of platform-specific coding to deal with special cases. So personally, I wouldn't expect --show-aircraft (or its underlying cache) to honor external aircraft at all.
Some of this may be subject to change once aircraft can be switched at runtime - and maybe I am just wrong here, but I don't see how this is supposed to work.
If it does/did work (even just partially), the code behind it is -in my opinion- trying to be far too clever...
EDIT: Background info:
http://www.mail-archive.com/flightgear- ... 09713.html