allora...non puoi "inserire" un valore nella insert...qualsiasi valore metti nel campo autoincrement lui incrementa il valore precedente ignorando TOTALMENTE quello che passi...comunque con un update puoi farlo tranquillamente ^^

infatti si definisce AUTOINCREMENT perché nella INSERT incrementa questa chiave aumentando di 1 il suo ultimo valore

ne sono certo xche in un soft che avevo scritto avevo inserito delle righe e poi un'utente fittizzio con id zero, l'id ovviamente l'ho impostato dopo aver fatto l'insert...faccio il dump...installo dal cliente...non funziava un tubo
e ho visto che l'id, col tutto che nella insert era presente zero, mi metteva quello successivo all'id presente nella query subito precedente ^^^

prova a fare

INSERT INTO a VALUES(1, 'asd');
INSERT INTO a VALUES(1, 'asd');
INSERT INTO a VALUES(0, 'asd');
INSERT INTO a VALUES(1, 'asd');
INSERT INTO a VALUES(1, 'asd');


(dove c'è zero l'id sarà 3)

e poi prova a fare

UPDATE a SET id=0 WHERE id=3;

e vedrai che funzia

in pratica...non usare un id zero altrimenti ogni volta che fai il dump devi aggiungere un'update che ti corregga il tutto...o nel tuo installer dovrai aggiungere una query di update che ti aggiorni l'id interessato...un casotto in pratica