The login function in class-pop3.php states that it returns false on failure, but it also returns false if there are no messages. These should be 2 different scenarios.
$count = $this->pass($pass);
if( (!$count) || ($count == -1) ) {
// Preserve the error generated by last() and pass()
return false;
} else
return $count;