I am ashamed to say how much time and effort (and at least one complete re-design) this bug has cost me.
Take a look at the following test, meant to show that Raven can replicate deletes between servers:
There is a very subtle bug in this code, which completely tripped me.
Here is a hint, the session interface is the high level client API for Raven.
Can you spot the bug?