Why doesn't this use the userData for IE 6/7? Given that those browsers are the least performant, wouldn't it make sense to ensure caching works on them?
As I pointed out below, Amplify.js, an established Javascript library, has the Store module that supports all manner of browser storage (including userData) with a unified interface that abstracts away the specific storage mechanism.
http://amplifyjs.com/api/store/
I have nothing to do with that project but I hate to see people re-invent the wheel. ;-)