The problem seems to be the 'searchdefs' definition in the various modules' popupdefs.php and listviewdefs.php metadata files overwriting each others' cached templates.
Locally, I got around this by creating custom view.list.php and view.popup.php views that overrode the display function, calling a template cache clear:
Code:
function display(){
require_once('modules/Administration/QuickRepairAndRebuild.php');
$selected_actions = Array('clearTpls');
$modules = Array($this->bean->module_dir);
$RepairAndClear = new RepairAndClear();
$RepairAndClear->repairAndClearAll($selected_actions, $modules, $autoexecute = true, $show_output = false);
parent::display();
} However, this is a bit ugly but it's better than running in developer mode.
I'll raise it as a bug again - last time it was resolved as a problem down to customisations.
Bookmarks