In your first attempt, I think you only need to add a "last" flag. Otherwise, Apache will continue to apply the other rewrite rules.
RewriteRule ^oldpagename\.html$ http://www.new.com/anothername.html [R=301,L]
RewriteRule (.*) http://www.new.com/$1 [R=301,L]
And in your second attempt... admittedly this is not at all obvious... but when there are Redirect and RewriteRule directives in the same scope, the RewriteRule directives will run first, regardless of the order of appearance in the configuration file. So it would seem that you need to either use only Redirect directives or only RewriteRule directives to do redirections.