It seems the key to making this happen is to make the assignment 4 frames before a state is saved. (Manual states aside, this would mean assigning it on a frame where the frame number mod 170 is equal to 166.) I set up a level where I could assign a spearer to a different lemming on each consecutive frame, and the bug did not occur with assignments on frame 165 or 167, so it really is a "must be on the exact correct frame" bug. The effect seems to be that the spear is moved down by one pixel. Most interestingly, this bug does not appear to affect grenaders.