En mysql, la única forma de hacer que reutilice un valor (y sólo cuando se borra el último) es cuando se usa el auto_increment en un campo secundario de un índice formado por varios campos. En este caso, el cálculo del siguiente valor es "MAX(auto_increment_column)+1 WHERE prefix=given-prefix" (
manual).
En cualquier otro caso, no hay forma de repetir número. Incluso, en las tablas innodb se pueden producir saltos aunque no se borren registros, si se hace un rollback de una transacción que implica a un campo auto_increment.
Un saludo.