I'm trying to promote Gen Heintzelman and am told to promote Thomas first. I'm not given the option to promote Thomas. This is the second time I've ran into this. What am I doing wrong, or is it a bug?
In your case Thomas has a higher seniority than Heintzelman but not a seniority of 1-2 or has taken some 4? seniority steps at once. (Just place your mouse over the promotion button to read the details). You probably can promote Heintzelman but just with a penality in VP, NM and a loss of seniority to the commander with the same ranking and highest seniority.
Just let your most promising generals (for the Union: Grant, Sherman, Meade, Gibbons, Reynolds, Sheridan, Thomas...) fight *premium* battles under *perfect* circumstances to make their promotion likely.