Я лично считаю результаты через COUNT (*) и передаю их в zend_paginator. Я так и не понял, почему вы глубоко связали zend_paginator с результатами базы данных. Я вижу плюсы и минусы, но на самом деле это далеко не так.
Учитывая, что вам нужно только 100 результатов, вы получаете 100'000+, а затем zend_paginator их выбрасывает. Реально вы хотите просто дать ему счет.
$items = Eurocreme_Model::load_by_type(array('type' => 'list', 'from' => $from, 'to' => MODEL_PER_PAGE, 'order' => 'd.id ASC'));
$count = Eurocreme_Model::load_by_type(array('type' => 'list', 'from' => 0, 'to' => COUNT_HIGH, 'count' => 1));
$paginator = Zend_Paginator::factory($count);
$paginator->setItemCountPerPage(MODEL_PER_PAGE);
$paginator->setCurrentPageNumber($page);
$this->view->paginator = $paginator;
$this->view->items = $items;