The way I would like it to work :
A server somewhere builds nice optimized bundles of the levels from checked in content The server puts those on a share somewhere Clients (artists, etc.) sync to the server bundles When a client runs the game, by default it loads from the server bundles That has many advantages - they get fast loads, and the game runs like it will on ship, so the artists can see paging problems, memory use, all that good stuff. I'm a big believer that having your developers run as similar to the real shipping product as possible is a huge win. When clients have newer local copies of content, the game loads those individual files as patches on top of the server bundles. Thus clients can make changes and see them instantly in the game without rebaking the whole level, but they still get most of the advantage of using the compiler server bundling.
That's all great in theory, but it falls apart when you start looking at this question of which files go in the patch. That is, which files should I load from the compiled bundles and which should I load singly as local overrides.
The first idea is to use modtimes. That falls down quickly even in very simple cases. Just using the modtimes of the bundles works fine on your local machine if you never get stuff from a server, but once you share files across machines the modtimes are worthless (particularly if you use something like perforce and have server modtime turned off, which you probably do; the perforce modtime option is strongly discouraged by perforce and by me).
One option is just to punt and not automatically load the client versions. Make the client take an extra step to get the local overrides to load. One way to do that is to just go ahead and use modtime, which will fail sometimes, but tell them to "touch" a file to get it in the game. You could provide helpers to make that easier, like for example looking at the p4 open for edit list and making sure those all come in as overrides.