Well, nothing really breaks in the sense that there are no errors when the user goes back. But the previous page will show content that's no longer "in sync" with the data in the database. If the user is unaware of that, he might click on something and expect something to happen in the context of what it looks like to him. But the thing that really happens will be in the context of the state of the data on the server.
In addition, I am also trying to get away from storing the search specification in the URL. Instead, the search spec is stored in the database (referenced by a key in the session). One advantage of this is that search specs can be named and saved so that the user can later return to them easily.
Long explanation sorry. So to the point. If the user has made a search as explained above and then presses back, he will now on the page see a different version of the search than the one saved in the database. He may then try to edit that one - perhaps thinking he just undid his changes. I am simply not quite sure how to handle this confusing situation.
Maybe I am trying to do something that browsers simply aren't good for. I'm not sure but I start getting that feeling.