I am using mod_rewrite to map my old directory structure to a different one. I've the next rule during my top-level .htaccess file, and delay pills work:

RewriteEngine On
RewriteCond %{REQUEST_URI} /blog/archives/(.*)
RewriteRule ^.*$ /archives/%1 [L,R=301]

As possible guess, this takes http://example.com/blog/archives/00001.php and redirects it to http://example.com/archives/00001.php.

However when I add these rewrite rules towards the .htaccess file within the /blog directory

RewriteEngine on
RewriteRule atom.xml$ /atom.xml [L,R=301]

the very best-level redirect no more works. Basically slowly move the rule within the /blog .htaccess file to the peak-levle file both rules work. Can someone explain what's happening here?

Look into the inherit flag from the RewriteOptions directive here.