rownum = 200000
не менее 200 000, поэтому вы в конечном итоге удалили только 199 999 записей.
Вам необходимо использовать ROWNUM <= 200000
следующим образом:
Обновлен код для l oop выпуск
FOR I IN (SELECT trunc(count(1)/200000) +1 from dssoti.appt_purge
WHERE to_date(substr(apntmt_dt,0,9)) < '01-JAN-17')
LOOP
DELETE FROM dssoti.appt_purge
WHERE to_date(substr(apntmt_dt,0,9)) < '01-JAN-17' AND ROWNUM <= 200000; -- change this
--EXIT WHEN SQL%ROWCOUNT = 0;
COMMIT;
END LOOP;