Redirect 301 /oldpage.html http://www.yoursite.com/newpage.html
RewriteRule ^/sale http://www.mydomain.com/gift-sales [R=301,L]
Both options look correct -- I've had better luck with the RewriteRule method though. Evo doesn't have much to with it: .htaccess overrides happen before Evo (or Revo, or fill-in-the-blank) gets to take a whack at it. Are you sure your .htaccess file is being parsed? A good way to test this is to temporarily type in some jibberish text and save it -- when you visit your site, you should get a 500 error if the .htaccess file is being parsed. And are you sure your server supports mod_rewrite?
Try NGRedirect Plugin
http://modx.com/extras/package/ngredirect
Works well for long lists of 301
Go to Systemevents.. - Check: "OnPageNotFound"
you can find OnPageNotFound in the Parser Service Events (the fifth) group, inside plugin System Event tab.
Maybe the usual problem: Remove the '<!--?php ?-->' around the plugin code in the backend.