Argh. This is very confusing.
Just to debug, using your localhost copy, can you make the function:
function post_count_plus_profile_key($keys) { // inserts post_count into profile without hacking
global $post_count_plus, $self;
var_dump ($keys);
if (empty($self)==true && isset($_GET['tab'])==false && bb_get_location()=="profile-page") {
(array) $keys=array_merge(array_slice((array) $keys, 0 , 1), array('post_count' => array(0, __('Posts'))), array_slice((array) $keys, 1));
var_dump ($keys);
exit();
}
return (array) $keys;
}
.
Then manually go to the page /edit.php?id=443
(where id # is a valid post)
In theory, that should still route to topic.php
If not, it will print out $keys twice.
There is no way that IF statement should execute on the edit.php page. Unless perhaps bb_get_location is not working properly on your host.
If you use my plugins, please considering donating to help continue their development.