It may be by unit class, with some not being added to the list for smoke replenishment in the code?.
The smoke rounds are credited as a random amount, and it may well be that this allows zero rounds to be allocated for some units in some circumstances.