I've had good experience with AutomatedQA, although I've mainly used it for testing web apps rather than standalone Windows apps. It's much better value than most of the other commercial tools and has a good feature set and choice of scripting languages.