amp_has_monster just checks whether that AMP slot isn't empty. There's no script to check whether the player has a specific monster, so you'd need to make a new script with content along these lines:
///amp_player_owns_monster(monID) //Returns true if the player owns at least 1 monster of the given species, false otherwise. for(var c = AMP_FIRST_ACTIVE; c < AMP_FIRST_ACTIVE + PARTYSIZE_ACTIVE + PARTYSIZE_BOXED; c++){ if(global.active_monster_party[c,amp_MONID] == argument0){ return true; } } return falseUsing that script instead of amp_has_monster should give the result you want :)