Conclusion
Testing is a crucial element of the maintenance phase of software. The more software you already have developed, the harder it is to ensure that bug fixes and enhancements don't cause additional headaches. Good software development technique can minimize the likelihood that a code change will have unexpected repercussions, but can't reduce the chances to zero. Testing should be frequent and thorough, which means using as much automation as possible.
Unit testing is becoming increasingly common, and is even being picked up by development phase programmers in the form of Extreme Programming. GUI testing is harder, and you'll have to come up with policies that balance the required frequency and thoroughness with your own sanity.
A well-designed test bed and test set will save you a lot of apologies to your customers, who don't enjoy updating software and certainly don't want to do it more than once to fix any particular problem. Using maintenance testing techniques can save time, money, and dignity.