Currently, only the play that has the highest score is chosen for pp calculations. When choosing what play is considered for pp calculations, the best play isn't always chosen because of this.
Examples of when this can happen:
1) Player A gets 6 million score in a map with 95% accuracy, then the same player plays the map again and gets 5.6 million score with only 90% accuracy (resulting in less pp because of less accuracy). So in the end, the second play results in a penalty in pp score. This goes against the statement included in the wiki that there is no penalty for bad scores. Another similar case is getting a high-score in a map with bad performance, that makes other better plays with less score don't count.
2) Player B gets a rank 1 in a map with a 4-mod SSH, getting a good amount of pp. Then, let's say 2 years later, the pp gained in that map practically banishes. Now player B won't be able to get pp from that map again because he can't get a higher score in that map, even though he can achieve the same or slightly less score (that deserves pp based on the performance), another player then would get more (unweighted) pp than the best player with a worse performance even if they played the map the same day. No longer valid since there is no performance decay in ppv2.
One possible solution to this issue is adding new entries in the server database that store the plays with best performance in each song (each entry has the same information as the score entries, such as max combo, judgments, etc...). This could add some server-load, but I believe it is a step necessary to fully implement the pp system to the game.
Also, the new entries could be used to generate 'Performance Rankings' for each map, so we can know more easily which player had the best calculated performance in the maps (and not only who scored more).
As for changes in the pp calculation algorithm that can make the performance values change (making the best performance rankings for maps change, and possibly making the current best performance for each player stored not be the best performance ever achieved by the player anymore): changes in the algorithm usually don't change the values so much (usually, after an algorithm change, a DT FC score will remain being considered a better performance than a HR+HD play the same player did, if the DT FC was considered better before the algorithm change), keeping score as the defining factor for what play is kept for performance calculation causes more incongruencies than if they kept best performances and then their values change.
Edit: made it more relevant to ppv2 instead of ppv1.
Examples of when this can happen:
1) Player A gets 6 million score in a map with 95% accuracy, then the same player plays the map again and gets 5.6 million score with only 90% accuracy (resulting in less pp because of less accuracy). So in the end, the second play results in a penalty in pp score. This goes against the statement included in the wiki that there is no penalty for bad scores. Another similar case is getting a high-score in a map with bad performance, that makes other better plays with less score don't count.
One possible solution to this issue is adding new entries in the server database that store the plays with best performance in each song (each entry has the same information as the score entries, such as max combo, judgments, etc...). This could add some server-load, but I believe it is a step necessary to fully implement the pp system to the game.
Also, the new entries could be used to generate 'Performance Rankings' for each map, so we can know more easily which player had the best calculated performance in the maps (and not only who scored more).
As for changes in the pp calculation algorithm that can make the performance values change (making the best performance rankings for maps change, and possibly making the current best performance for each player stored not be the best performance ever achieved by the player anymore): changes in the algorithm usually don't change the values so much (usually, after an algorithm change, a DT FC score will remain being considered a better performance than a HR+HD play the same player did, if the DT FC was considered better before the algorithm change), keeping score as the defining factor for what play is kept for performance calculation causes more incongruencies than if they kept best performances and then their values change.
Edit: made it more relevant to ppv2 instead of ppv1.