We´ve all seen this at one point or another. Our GM has this interesting, convoluted story that he has devised over the course of weeks, and once the group starts playing, it´s clear that there´s little they can do to stray from that path that the GM has set for them. The players, if they´re good, notice this, but decide to cooperate, for the good of the game. After all, it keeps the story going. However, things don´t change, and session through session, players are bending over backwards to do what´s sensible from a normal human´s point of view, instead of what any reasonable powergamer would do. They cooperate with the NPC´s, even if they know they´re gonna get betrayed. They happily get into an ambush because their characters still trust those NPC´s, although all the players know it´s gonna be a possibly lethal ambush. You know the drill.
But what happens when the players decide that it´s too much? This can bring a rebellion in the table, and send the game down the trash quickly, specially if the GM cannot react fast enough, or the players end up being driven into a dead-end. However, should things reach this state, the players will already be touchy when it comes to their lack of freedom, and even if the game manages to get back on track, it will be very hard to get them to cooperate with the GM again at all.
In short: give your players more freedom, even if that means changing your carefully designed plan. They will be happier for it.