I posted about this a few pages back. This was driving me crazy, too, but I finally figured it out. If your unit has no movement points, you can't promote it. AND... if your unit has movement orders pending, you also can't promote it. So hit the Cancel button to cancel that units current movement orders and then you can promote it.