There is actually a difference between what the software considers "initial seating" and "player movement". If I recall correctly, this was differentiated because player movement usually involves moving a single player, or collapsing a table, and rarely more than that, but initial seating considers all players at once. Applying the "movement" algorithm to perform the initial seating for a tournament with hundreds of players got pretty nasty. Again, if I recall correctly.

Anyway, the "initial seating" algorithm does indeed "compress" the tables (removing any empty seats between players). It's just the way it works. The "movement" algorithm works entirely differently.

Using your example (15 players, 3 tables of 10 seats), try this: with all players unseated and ready to be seated, press the "Seat Players" button and you should see 8 players seated at table 1 and 7 players seated at table 2, with no empty seats between players (seats 9 and 10 will be empty on table 1 and seats 8, 9, and 10 will be empty on table 2).

Now ress the Undo button. The tables should again be empty. Drag one player from the Unseated Players area to any seat. Then press the Seat Players button again. You'll still get 8 players at one table and 7 at the other, but now they will be more "spread out". You've just forced the TD to use the "movement" algorithm instead of the "initial seating" algorithm. Problem is you still have only 2 tables with seated players and you said you wanted 3.

So I see two semi-solutions: (1) Before seating players, mark 3 seats at each table as "Unavailable". This will force the players to be spread among the 3 tables; (2) Use the "Auto Seat" feature when buying players into the tournament. This will randomly seat the players among all 3 tables. Only issue here is that it's 100% random, and you could possibly end up with a pretty unbalanced scenario, such as 8 players at one table, 6 players at another table, and 1 at the 3rd table.