El sistema de bloqueo de tablas no depende de PHP, sino de tu motor de base de datos.
Que BD usas que te inserta dos ID iguales???
Hasta donde yo se, MySQL tiene bloqueo de tablas, así como postgre, SQL server, access, etc...
A menos que el "Autoincrement" sea simulado por tu script, en cuyo caso lo veo muy dificil. Solo debes marcar tu campo como indice primario, sin duplicados, autoincrementable, con eso no debes tener problemas.