I basically gave up trying to use IIS to serve static files and started using the maxAge option of the default Express static middleware, but I quickly grew tired trying to setup Grunt workflows to make sure the names of my static files change when the contents change.
Ended up writing a bit of Node.js middleware called Electricity which I tried to make as a mostly drop in replacement to the default Express static middleware: https://github.com/mediocre/electricity