I just updated my app the other day, and started getting reports of some users' Chrome browsers refusing to download and update .babylon files in their IndexedDB. Other browsers seem to have no problem at all, but Chrome, as I've learned, can be especially stubborn when it comes to caching.
Before you ask, yes, I updated the version number in the associated .manifest files to no avail. After investigating the XHR requests in Chrome, I noticed that the .manifest file checks use a date-based query string for cache-busting, which works great. However, the .babylon file requests themselves were not. I changed the following...
Database.prototype._saveFileIntoDBAsync = function (url, callback, progressCallback, useArrayBuffer) {
...
xhr.open("GET", url + '?' + Date.now(), true);
... and now all is well. Apparently, Chrome (and only Chrome) was loading a cached file to put in the IndexedDB; putting a cached file into another cache, essentially. Nuts.