I might have an answer to part of the confusion. From my testing, it appears that if you specifically call for several design names in the construction file that are all (for example) attack ships, the number of ships built is calculated for the attack ship type, not for the individual design name. For instance, if I create designs "Attack 1" and "Attack 2", then call for a build of 3 "Attack 1" followed by 3 "Attack 2", it will only build the 3 "Attack 1" ships because it thinks that at that point the requirements for "attack ship" are satisfied. In order to get both types to build, you need to specify building more of the second type than the first. Then, after the first type is built to the required amount, the second type will be built out to the difference between the number built of the first type and the number to be built of the second type.
I don't know if that was completely clear

, and it doesn't seem to me to be the correct behaviour, but it does seem to be what is happening.