Io non uso mai il contatore automatico; uso sempre un campo di tipo numerico di grandezza variabile in base alle esigenze... e il problema non mi si è mai presentato perchè sono io a gestire la numerazione e non il db...

Normalemte sull'evento click del button nuovo azzero solo i textbox,
invece sul "conferma" decido e scrivo la chiave* in modo che l'intervallo di tempo tra la lettura e la insert sia minimo


* nel caso specifico max+1