The issue is that after the files are merged and Magento checks
whether the cache is still valid, it checks for files that do not
exist, so filemtime() throws warning which is processed as exception,
and the whole thing goes awry.
To resolve it:
Edit app/code/core/Mage/Core/Helper/Data.php, around line 631:
REPLACE:
if (filemtime($file) > $targetMtime) {
WITH:
if (file_exists($file) && @filemtime($file) > $targetMtime) {