Hi,
I think I know what's going on.
There is a problem with the javascript not updating the number of elements of the listing when changing between the different layouts (div, table, etc). You need to manually click on the number of rows you want and then save to have it saved in the database, so that it can be taken into account on the frontend.
I've made a patch for this on our end.
If you update, you'll then have the number of elements refreshed when changing the layout in the backend, and thus it will be taken into account when saving.