Me he vuelto un poco loco mirando tu script pero...
Al principio pensaba que el problema era la funcion inteval() pero parece que eso está bien.
Prueba a ver si poniendo $pg = 1 inicialmente se soluciona.
Siento no ser de gran ayuda.
PD: dale vueltas a lo siguiente: si divides el numero de registros entre 10, los únicos que van a ser enteros siempre son el 20, 30, etc... no sé, a lo mejor a partir de ahí puedes sacar algo