Yes, easy to a do a sanity check on the results produced. I think what I would do is have it as two separate parts. A pretty simple interactive page on the site that checks eligibility conditions, whether a user has already entered, and then produces a simple list of usernames and their ranked choice preferences. The only way I can see to manipulate that would be to find a way to create duplicate entries, and that can be checked for later.
Then have another little setup maybe on the PC of one the team, that also holds the actual keys. That ingests the created list, does the selection algorithm, and could also automatically PM the keys to the winners through the Xenforo API (I expect).