The answer is quite simply whenever you can maximize your return. Your return is largely based on perceived value among other owners. And because most leagues turn over a few owners every season, you can't really know for sure if you are getting max return or not. Add in the fact that ADV scouting is making players blurry.. I would hesitate to unload a max guy unless i was damn sure of my return.
I suppose if you are intent on trading said player and you have good ADV, you could dangle him out there and then reject all offers taking note of the best offer you got. The following season do the same and try to get more than the previous best offer. That said, i am sure we have all done a little stalling on a trade offer that ends up slipping away completely. As Joel Goodsen once said... "sometime you just gotta say WTF". Pull the trigger if you like the deal.
For me.. the max value is HOLDING said player and resigning him to another long term contract at 70% less. I am not into the rebuilding aspect of this game. no time for it. I want to win and I want to win now.
.