Wonder how you want to detect which player "caugth" the pokemon, CheatEnabled
Since you can't set kills, this might be a tough one. Depends on how many pokemon can be "caught" at a time.
If you can be sure that it is low number, you can achieve pretty precise results by using both the deaths of certain units of the player that owns the pokemon, and the kills score of the pokemon-catchers.
If one player kills a pokemon, he gets a certain kills score. Sadly this is not always unique, but if you only use unique-score-units, we already have a solution:
C: PlayerX's kills score is exactly 50 (= zergling)
A: Set PlayerX's kills score to 0, catch pokemon, preserve
If the kill score is non-unique, you have to check which kinds of pokemon died recently, by checking the pokemon-owner's death values.
There always is a chance that an error occures when there are at least 2 pokemon that give the same kills score (drone, probe. scv), and two players kill different ones of these at the same time. But it should be unlikely.