Just a late addition to the question of AA upgrades with Avios:
You cannot upgrade connecting AA flights within the US, even if they are booked into the right fare class and a seat is available.
As an example: I booked LAX-JFK-LHR-JFK-LAX. Both LAX-JFK and JFK-LAX are on AA metal (BA codeshare) and booked into 'B'. There was a J seat available for JFK-LAX (shown on the BA website), but it was not possible to do this upgrade -- regardless to what the T&C say (they clearly state it's possible).
As an experienced BAEC employee told me on the phone, upgrades on AA are only possible on transatlantic flights. Strange enough, I can find no mention of that in the T&C.