It seems to be a bug in the browser (present with different variants in various browsers) since I can reproduce it with a static table and no scripting at all.
If all the cells are empty and have no "width" and "height" property, AND they have no border, then the LAST cell seems to fill the whole table; while, if the cells do have border, then they get all equal widths and heights - this difference depending on whether they have or not a border doesn't make any sense, let alone it is not specified in the CSS standard.
Even if there was a reasonable explanation for a different behavior between with or without borders, there is still the difference between the case where you create the cells (all without border) with scripting without alerts and the case where you pop up an alert before creating each cell (without border in both cases and with no other difference). That is 100% nonsense.
But this all seems to be a bug of the browser, no jQuery involved.