Retraining feats is perfectly fine. Just require that any feat retrained must meet prerequisites as if the PC was actually the level at which the original feat was taken, i.e. they can't take any more powerful feats then they would otherwise have had through normal levelling. In addition, they can't retrain any feat that is meeting a current prerequiste (for another feat or PrC, for example), and can't retrain any feat that has provided mechanical benefits that they will still benefit from (i.e., item creation feats, or any of those feats that allow wizards to scribe additional spells when they level up cannot usually be retrained).
It's important to allow retraining because it allows the less-optimized to change bad choices, and catch up to the players who know more about the system and thus didn't make any bad choices. Skills and some class features should be retrainable too (see the PHB II for details). Thus, retraining serves as an important balancing mechanism when there are players of different skill levels at the table, and serves to mitigate unhappiness with past choices when a player learns better. I know I'd hate to make a bad choice at early levels that screws my PC over for the entire game; it's nice to have the choice to fix these things and takes a lot of the pressure off of leveling decisions, making for a less stressful and more fun gaming experience.