No, in your code, do you manually set server.AppVersion somewhere? By default this is DateTime.Now and is used to control the cache. Every time you recompile the app, this number will be used to check the 'If-None-Match' and set the ETag if needed which indicates to the browser to reload. Check the code of SERVERCacheControl.bas for the whole explanation.
This module was investigated and written by Mindful and has worked for us perfectly in ABM and BANano.
Maybe your server setup overrules this? (Apache, HAProxy or something alike)