This sounds like a caching issue. In 3.0 all assets are stored in the cache, except for a few special cases, like theme assets (though this depends on the server configuration). A cache bust which changes between deployments is used to revalidate. To avoid caching over deployments when fetching assets yourself, you should use this cache bust, provided by mx.server.getCacheBust.
mx.moduleUrl("DailyStaffRota.widget", "templates/DailyStaffRota.html") + "?" + mx.server.getCacheBust()
It would be easier if moduleUrl automatically added the cache bust to the given url, but for now this would be the way to go.
There is a bad syntax... work like this:
mx.moduleUrl("DailyStaffRota.widget", "templates/DailyStaffRota.html?" + mx.server.getCacheBust())
Regards