In most cases banks follow the Uniform Commercial Code (UCC), but the UCC can differ slightly from state to state. Generally you'll find that a bank need not pay a stale dated check, that means a check that was written more than six months ago.
Because most checks are processed by machines which do not read the dates, most banks also tell their customers that while they are not required to pay stale dated items, they reserve the right to do so. If you do not want an item paid, a stop payment request is the best way to accomplish this. If you have a check that is over six months old, you may want to ask the issuer's bank if they'll still pay it and let the issuer know what they said. They may have believed it was lost by then and added it back in their balance or be sending you a new check.
If you issued a check that wasn't cashed, you could issue a replacement assuming the other was lost. You could also tell the payee that you'll first have to place a stop payment order on the first check. You may or may not want them to pay any fee you incur for that.
Published on BankingQuestions.com 10/05/06