I do almost exactly what cattlesquat does with one difference. I usually pull all related pieces at once into a palette or at-start stack with the batch loader, and then cut/copy them from there to their final destination at-start stacks. That way I don’t have to be careful about naming them or their images.
By the way and a little off topic, I’ve found I must be careful with at-start stacks. I’ve been redesigning Merchant of Venus (2nd ed), and I created at-start stacks with units from different map layers. Doing this causes Vassal to temporarily stack those units, but once moved, they break down into stacks by layer. Fine. But this form of an at-start stack (units from different map layers) introduces some bizarre behavior that is hard to reproduce at will (the dreaded race condition). The problems happens inconsistently, sort of randomly and at differently times.
For example, I might hover over a stack of goods, which started in the bottom layer of an at-stack stack, and suddenly duplicate images appear. I will pull out the offending pieces (it may not happen to all units), and the mouse-over stack viewer will show a double image of the same piece.
Then I drag it from the main window to a player window, and the double-image disappears, but now a second copy of the piece appeared on its original map at the same relative (x,y) position as the first. I can move the doppelganger, but it then hops back to its original spot. Sometimes though if I try to click on it, it hops away as if I were reaching out to grab a frog!
So I then saved the game and reloaded it later to find that all the infected goods pieces have disappeared as if they were aliens masquerading as humans and that they had loaded onto their ships and left. Fortunately I had built an inventory window, and when I looked there, there they were! Nut they were in a non-existent null-named map window. I was able to send them to a discard pile, and I fetched them from there.
This suggests to me that Vassal may be getting confused about which map window a piece resides in. Perhaps its map location is stored in multiple locations, and those references say different things. It would explain the null map window. Just a guess though, but that’s what I would look for.
It was all very amusing but unworkable, so I rebuilt the at-start stacks so that only units from one map layer were and one stack, and the problem vanished. Lesson learned: don’t mix map layers in the same stack.