I agree. As a freelancer (here in the US anyway) you ARE a business (have fun paying quarterly estimation taxes and filling out Form 1099 with the IRS). If you get locked into a long-term contract with a client who pays you $X per hour, then you have two choices. Tell them you're going to raise your rates (and run the risk of a breach of contract), or (preferably) include a clause in your contract stating that said contract wlil last for six months with the option to renew. Obviously, the renewal has to be tied into new contract negotiations. If the client signs a contract that says they are to pay you $X per hour, and nine months down the line, you feel like you're now worth $Y per hour (or have to raise your rates to meet with inflation and other economic factors), then they won't be happy if you tell them that you're raising your rates because your contract with them says they are to pay you $X, not $Y per hour.
Get a term contract (six months should suffice), with the option to renew, and then explicity state that the renewal is not automatic, but must be negotiated, as economic conditions will change, people will get better, and the client may even have additional work for you that he may want to include under the terms of your existing contract.
Do that, and everybody wins :).