I think the issue is you need to convert your integer i counter variable to a string, so your GetObjectByName should be this for each.
Scene.GetObjectByName("DATALINQ - RANK - CHOICE " & Cstr(i), choiceWinner)
Prior to the if statement, I would also debug the values you are testing. What do they actually equal?
Engine.DebugMessage("correctChoice.Text: " + correctChoice.Text,1)
Hope that helps.
Mike
#XPression