OK Alex thanks. I discovered that the first problem was caused by an error in my own code. It was producing a Warning message during plugin_activate; because my function was missing.
I reproduced it to test your changes and got some interesting results.
When my plugin's code included:
add_action( "activate_plugin", "oik_activate_plugin_action_missing" );
I got these messages:
Activate -> Fatal error: Call to undefined function get_error_message() at line 375.
Install -> undefined get_error_message() at 343 / 379
or simply -1
get_error_message() is a method not a function.
When my filter function did exist but didn't Fatal e.g. just echo'ed
a string OR otherwise produced a Warning then I didn't get any message.
Not even the (rather useless, in my opinion) message "The plugin generated 202 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin."
BTW. The modal message box was REALLY annoying.
PS. I believe you've got the wrong plugin name for piglatin
PPS. I suggest someone updates piglatin to remove the "old plugin" message.