I'd take a close look at the bowden cable, it controls shift timing.
It's connected to your throttle linkage and goes down the side of the transmission.
If this is misadjusted so it's to tight or is stuck in it's sleeve it would cause late upshifts.
also take a look at and you might even try to temporarily disconnect the kickdown switch located under the accelerator pedal. It sits in a enviroment with alot of moist and dirt and can get stuck as well.
MB E300TDT -98