There appear to be a few issues right off the top:

Code:
        txtBinaryKey.Text = CStr(Key)
        Low = 0
        High = 4
Since you never put a value into key, all this line does would be to put 0 into the textbox. That surely isn't what you are trying to do. The key is what you are searching for isn't it? Is it supposed to have been entered into the textbox by the user? If so, then you have that first line backwards, because you are putting 0 into the textbox rather than putting the textbox contents into Key. For that, you could use CInt rather than CStr, but CInt will throw an exception if the user doesn't enter a valid integer into the textbox, so it is safer to use Integer.TryParse.

As for the next two lines, I would agree that Low is 0, as that would be the bottom of the list, but setting High = 4 is going to be pretty bad. That would guarantee that the search will only find a match in the first five items of the collection. Perhaps you will only have five items in the collection, but that's still not a good reason to write it that way. Instead, set High = MyArray.Count-1.

Finally, I'd suggest coming up with a different name for Mid. It should work in your code, but Mid is also a legacy method, so the compiler might confuse the variable for the function in some cases and produce weird behavior.