I'm not sure either. I suppose something's up to the player as well. Maybe he already agreed to the terms before going on loan. Similarly, if Paco wanted back, and Barca wanted him back, could Borussia still trigger the clause? Don't think so unless it's been agreed beforehand. On the other hand, a club not wanting a loanee back can do very little. If Everton doesn't buy Gomes (he's got contract with us), we can do next to notning about it. That's the case with Douglas. Nobody wanted him.
I think the player definitely have his say, even though it probably depends a lot on how the contract is written. An example comes to mind: season 2008-2009, Milan AC loans Yoann Gourcuff to Bordeaux, with an option to buy for 15 millions. This seems like a ridiculously high amount at the time, and nobody really thinks he'll stay in Bordeaux at the end of the season. But he performs on an incredibly high level for a whole season (becoming a starter for France NT and scoring several screamers with Les Bleus aswell as with Les Girondins).
By the end of the season, he's probably worth around 25 or 30 millions. All of a sudden, that 15 millions buyout clause seem rather low. It's still a huge amount for Bordeaux back then, way more than what we ever paid for anyone, but when you know you're buying a player who's worth twice that, money is not that big of a deal.
Here's the deal though: Milan knows they're going to get fucked if they sell him for such a low price. So they set up several meetings with the player to make him reconsider. The plan is pretty simple: if Gourcuff doesn't want to sign a contract with Bordeaux, even if the team is willing to pay, then the whole deal is canceled. Milan can then either keep the player, or sell it so someone else for any amount they want. They try to offer him a bigger salary, to promise him he'll be a starter, stuff like that.
Fortunately for Bordeaux, Gourcuff decided to stay. But it took several weeks of meetings, promises, offers, counter offerts. Which leads me to believe that you probably can't just force a player to accept the deal. But maybe it's just how it is in France though, it's possible that the rules are different depending on the country (for example: in France, when you loan a player to another team from your league, you can't forbid the player to play against your team; whereas in several other countries it's the exact opposite iirc).