Вы не упомянули, что вы используете для индекса и т. Д., Но давайте предположим, что это значение по умолчанию, и у вас нет проблем с уникальностью (особенно потому, что ваши результаты являются переменными). Похоже, что некоторые из ваших записей терпят неудачу / теряются.
Попробуйте запустить пакетные вставки с:
$dm->flush(array('safe'=>true));
Это будет немного медленнее, но, по крайней мере, теперь оно должно выдавать исключение, когда вы видите сбой, и вы можете его оттуда извлечь.