The issue is that these are in two different event receivers. EventFiringEnabled
is a thread specific property. The reason it's done this way is that this could cause code from 3rd parties or other developers to function unexpectedly. If you put those into a single event receiver, I would expect that it would work the way you want it to.
I'm looking for an MSDN reference for this.
Edit:
I cannot seem to find anything about this specifically in any MS documentation. But here is the article where I read about this when I was experiencing the same issue. Notice that the article was from the 2007 days.
Disable event firing in SharePoint when updating a list item outside of an event handler
Upon disassembling Microsoft.Sharepoint.dll, I discovered that the above mentioned method actually sets a static, thread-specific, property of SPEventManager class called EventFiringDisabled