iMIS SOA FindAll Method Returning Duplicates

I am trying to use the iMIS SOA to retrieve a complete list of records from a custom table. I am using the supplied PHP library and the FindAll method.

public function FindAll($entityTypeName) { // page through and accumulate results $query = new QueryData($entityTypeName); $result = array(); do { $findResults = $this->Find($query); foreach ($findResults->Result as $value) $result[] = $value; $query = $findResults->Query; $query->Pager->PageNumber = $query->Pager->PageNumber + 1; } while ($query->Pager->PageNumber < $query->Pager->PageCount); return $result; } However, the SOA is returning a result set that contains duplicates. It is returning the correct number of records but it contains duplicates and does not contain certain records. It is excluding the same records on every call and including the same duplicates on every call. The records that are being excluded are not malformed and I have tried giving the various columns different values to see if they were being ignored because of blank or null values. This does not appear to be the case. Why is this happening and is there a better solution for using PHP to obtain a complete list of records from a table?