Oh right, you get that when you activate a plugin because the other function is already defined during activation. You need to include the if ( ! function_exists('wp_notify_postauthor')):
line and the corresponding endif;
at the bottom.
Your version will not load when the plugin is activated, but it will subsequently be used when someone adds a comment due to the loading order of the pluggable.php file being after activated plugins.
OR, if you put your version in functions.php of your theme, you’ll have to move it to a plugin, themes load too late to override pluggable.php. If you haven’t yet created a site specific plugin to contain all of your custom hacks, now is a good time to start one ??
I should have mentioned this initially, sorry for the oversight. I usually add pluggable functions to my already activated site specific plugin so never encounter this issue.