Если сервер свой, то проще будет разобраться с параметром max_execution_time. На хостингах этот параметр не увеличить больше 120 сек (обычно).
Можно попробовать запустить через консоль функцию _regenerateThumbnails из controllers/admin/AdminImagesController.php, запаковав её в файл:
<?php
//в корень сайта!!!
include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/init.php');
_regenerateThumbnails('all', true);
echo 'Done!';
?>
Этот код в работе не проверял.
А можно заставить функцию _regenerateThumbnails работать только для интервала ID - такого, который не приводит к таймауту на сервере. И менять этот интервал. Например, сначала 1-500, 501-1000 и т. д.
Так делал, работает.