yeah, ms has some default mime type .. but what's the extension of your manifest file? It has to be .appcache, since you can't override .manifest on ms.
just double checking, other then that no idea other than adding some console or alerts to debug the microloader code, which is actually straight forward.
I came across this debugging tool JSConsole. I believe it may be able to shed some light on this issue. In your applications touch/microloader/production.js file there is a function called checkForUpdate. You can place console log statements in this function, build your application and using your devices web browser and JSConsole on your desktop browser, you can receive these log messages. You will have to update your devices application to one with these log statements at first. Subsequent update attempts you would receive messages to JSConsole. By doing this you can see what is going on in the microloader and determine its role in this issue. I have attached step by step instructions.