How about a sleepy VSS? If the vehicle speed sensor is having morning sickness, or didn't get its cup of coffee, it could be sending bogus info to the computer, which would then not push for up-shifts. A TPS that had glitches could do something similar. If it had a MAP, that could be telling the computer that the throttle is wide-open, so keep it in gear until it HAS to upshift. If it has a vacuum modulator, that could be sticking also, again, telling the smarts to stay in lower gear.
If the servo were not working, thinner fluid at operating temp would lead to it NOT working even worse, right?
The above is all generic, but it may be possible to test the action of the solenoids using gear at a dealer or transmission shop. I think the VSS and TPS information should be available from the OBD-II diagnostics.
tom