Hi Mike,
Yes, you can use Settings for this purpose. I implemented ImageIntegration's cache in a similar way, and the Script Editor cache also uses the application's settings data.
When you write a key/value pair to the Settings object, you are storing the data in the application's settings file, which is a performance critical object. Now I consider this a design error, since populating the application's general settings with module and script data makes it slower, more complex and harder to maintain. Eventually, I'll change this system to generate a separate settings file for each module and script. However, the changes will be transparent to existing modules and scripts, so you don't have to bother with this. Just write your cache data against Settings.
Thank you for asking. I appreciate the care you put in your implementations.