Volvamos al problema inicial:
Cita: si intento repetir un registro (para que no me deje insertar) el numerador de auto_increment se incrementa sin haber insertado ningún registro, por lo que cuando voy a insertar un registro bueno el auto_incrementa esta 2 números por encima del ultimo registro insertado... ( si envio 10 consultas erroneas para que no se ejecuten, son 10 números los que se incrementa )
SI lo que quieres es evitar que un auto_increment se incremente ante una inserción fallida, lo más simple es usar transacciones. Como el COMMIT se hace sólo al terminar la inserción exitosa, solamente quedan fijos aquellos efectivamente usados.
La segunda parte del planteo parece hacer referencia a los números de subitem de un documento en especial. ¿Es así?