Ya lo he conseguido arreglar aunq para ello e tenido que borrar la tabla y llenarla otra vez, aunq todavia no me explico que es lo que paso.
Ya se que no es muy importante el orden de tener los registros y que lo puedes especificar al llenar la variable de PHP, pero lo que queria buscar era el origen de este fallo.
En la tabla no tengo asignado autoincrementado y mediante este codigo PHP le doy el valor que le corresponde:
Cita: $ult=mysql_query("select max(COD_PERSONA) from tpersonas");
$ultimo=mysql_fetch_row($ult);
$ultimo[0]=$ultimo[0]+1;
$insert=mysql_query("insert into tpersonas values('".$ultimo[0]."','".$_POST['nombre']."','".$_POST['ap1']."','".$_POST['ap2']."','".$_POST['email']."')");
Gracias por ayudarme, nose si se os ocurre algo bien sino pues nada..
Saludos