I, for example, use this setting in the exact same environment. it works fine. i put this into the application's web.config file.
<staticContent>
<clientCache cacheControlCustom="public;max-age" cacheControlMode="UseMaxAge" cacheControlMaxAge="180.00:00:00" />
</staticContent>
which enabled clients to cache static content (e.g. css files) for half a year. so you might have to add the cacheControlCustom attribute.
you can also apply http caching headers via the IIS 7 manager. just select the css directory in the left pane, click "HTTP Response Header", then click "Set Common Header..." on the right side. In the popup window choose "Expire Web content:" and select either "After:" or "On" and enter the desired expiration.
One approach would be to check all directory from your web application's root to your css directory for web.config entries regarding clientCache and see if you overwrite certain attributes.