No hay nada significativo en el script. NO hay modo que con ese código vayan a producirse discrepancias en cuanto a la cantidad de registros, por lo que es posible que lo que describes se deba a otras razones.
Será necesario que nos muestres con capturas de pantalla como es esa diferencia de registros en pantalla al refrescar en phpMyadmin.
Por otro lado, te recomiendo no confundir el valor entre paréntesis cuando declaras un valor INT con la cantidad de dígitos del numero.
No representa eso, y es mejor dejar la longitud indicada por defecto por MySQL, ya que modificarla podría traer consecuencias nocivas en las consultas y los backups.
La tabla, limpiando la basura puesta, sería asi:
¿Ves que el INT queda con "(11)", bueno,
ese es el valor que debe llevar, ni más ni menos.
Aunque como se trata de códigos y estados, es probable que lo mejor sea definirlos como
sin signo, por lo que lo correcto sería:
Nunca, repito, pongas un valor diferente en ese tipo de columnas. Si te presenta dudas respecto a qué significa, el manual de referencia es muy claro al respecto.
Volviendo al tema, postea las capturas de pantalla (súbelas a algún servicio de imágenes publico), de cada refresco, de modo que se entienda lo que estás viendo. Como dije, el script no genera ningún problema.