If you have a tailable cursor and the search spec involves "_id" then new rows are not returned as they should be. The attached code lightly modified from the pymongo test code demonstrates the problem.
If you comment out the line doing $gt on _id then everything works fine. If you include it then what you see is that a row is not returned when it should. assertEqual then redoes the query showing that the new row does indeed match the search spec and it was the tailable cursor failing to return it.