OK, so I've been poking my way through the code a little more, and found the database refresh routine (lib/cyrusdb_flat.c, map_refresh()). Is there some reason why the file size is the conditional for refreshing the database instead of the actual file modification time? It seems to me that would address this problem rather nicely.
Alec -- Alec H. Peterson -- [EMAIL PROTECTED] Chief Technology Officer Catbird Networks, http://www.catbird.com