If you try to remove a document that doesn't exist, remove() won't throw an exception.
Even if 'w' is set to 1, remove() will return an array similar to this:
Array ( [n] => 0 [connectionId] => 10726 [err] => [ok] => 1 )
So, in order to see if a remove() was really successful, you need to look at [n] key. If it's 0, that means the remove() did not remove any documents.
If remove() is successful, [n] will be > 0.