yo cambiaria el while por un for, creo que el for te da mas control sobre e, bucle.
para saber hasta donde llega el for utiliza un mysql_num_rows, como lo hiciste mas arriba y comienza el bucle con
te dejo un ejemplo de como lo hago yo.
Código PHP:
Ver originalfor ($i=0; $i <= $total ; $i++):
echo "<li><input type='checkbox' name='unnombre' value='unvalor'/>" .utf8_encode($list_epp_array[$i]). "</li>";
endfor;
prueba y cuentanos como te fue..
saludos