Probably what you want is reset(), which sets up the cursor to re-query the database next time you try to get a document.
rewind() re-queries the database and then gets the first document and makes it accessible through current(). In PHP, it is mostly just used internally for foreach loops.
I'd imagine the reason you're getting 4 results when you expect 5 is that you are using getNext(), whereas you have to call current() after using rewind() to get the first result. So your code needs to do something like:
$cursor->rewind();
$obj = $cursor->current();
$cursor->next();
$obj2 = $cursor->current();
etc.
The following is equivalent but uses reset():
$cursor->reset();
$obj = $cursor->getNext();
$obj2 = $cursor->getNext();
"getNext()" is equivalent to "next(); current();"