Simon - is the booking in question a flight pass booking? If so, I always upgrade from the flight pass page (never the check-in page). I find the check-in upgrade function to be unreliable. Also, once in a while something goes wonky with the record and the upgrade button doesn't show or the system returns an error when I try to upgrade.... in those cases, I simply cancel my first booking and rebook the same itinerary - works every time. Of course, I wouldn't recommend this strategy if the flight is already oversold...
SG