The "." or "," is down to localisation - some countries use , as the thousands sperator and . for decimals other countries use them reversed. You could change the lines similar to
.Cash = CType(OrgArray(i, 1), Double)
to be more explicit by using the .Parse method
.Cash = Double.Parse(OrgArray(i,1), System.Globalization.NumberStyles.Currency)
'or to be more exacting still you can provide an explicit culture to use for parsing
.Cash = Double.Parse(OrgArray(i,1), System.Globalization.NumberStyles.Currency, System.Globalization.CultureInfo.CurrentUICulture)
You could simplify the code some more by using one of the classes from System.Collections such as ArrayList rather than just the Collection class.
Collection seems to really be there for VB6 compatability and isn't as functional as the others, e.g. Arraylist provides an .IndexOf method to check for existing entries. Using a HashTable would allow you to store a person and reference it by the person's name directly...