If he wants a 10 year contract then he needs to go to the AL where he can DH. He's 32 (or so he says, I would never trust a latin american player on age).

Cardinals can't/won't pay him the money, then they need to get rid of him. They could get Texirea in a trade with the Yankees I would bet.

This isn't the steroid era, older players aren't still hitting 60 HR's in their final seasons. He's been a great player, I wouldn't bet on him staying that way or staying healthy. Most of last year he was bothered by nagging injuries. That only gets worse with age.