Как удалять предыдущие 100 записей из БД перед добавлением новых?
а какова цель записи в таблицу, если вы эти записи не храните?
1) 100 записей и база "забилась"? Серьезно? Для мускуля 100 000 записей - средняя табличка.
2) В принципе если эти записи не нужны(хотя нафига их было тогда добавлять) тогда @cnt :=  select count(`id`) from `sometable`
delete * from `sometable` where if(@cnt>100,1,0)
кажись так.
Как я понял из вопроса, 100 ip адресов много для отображения. Если это так, то ничего удалять не надо, а стоит составить запрос выборки вида:
SELECT * FROM  ip_tabe ORDER BY  id_ip DESC LIMIT 100
Обычно в базах ничего не удаляется, а помечается "как удаленное", но если в базе хранится мусор, который не жалко, то можно добавить столбец с TIMESTAMP и периодически удалять значения старше определенной разницы по времени.