Стандарт SQL не дает никаких обещаний относительно естественного упорядочения строк в таблице - новые строки могут быть вставлены в конце таблицы или в любом месте посередине. В зависимости от того, где ваши dbms вставили строки, которые, скорее всего, будут зависеть от того, какие строки были ранее удалены, ваш второй запрос может легко выбрать строки, уже выбранные в первом запросе, или пропустить некоторые строки между запросами.
Единственный способ, которым я могу надеяться сделать то, что вы хотите надежно, - выбрать всю таблицу во временную таблицу или курсор, а затем прочитать записи по 100 за один раз из этого второго набора записей.
Вы также можете выполнять все свои запросы в рамках одной сериализуемой транзакции (которая будет скрывать любые вставки или удаления, выполняемые другими пользователями в течение всего срока действия вашей транзакции), но даже это не будет надежным решением.