Reading each objects data individually using the vision sensor

Not a good idea, arrays start at index 0. It just happens that the vision object array is a special class called a safearray that filters out bad indexes and returns a dummy object.

perhaps have a look at this old code, it iterates through vision objects and displays them.
(it was written for VCS but APIs are the same)