In my opinion the best solution to this problem by far is to pass an XML document from your VB client to the SP on the server: for example:
Then use the OpenXML keyword in your SP - you can read it as if it was a table.
This mechanism also fits in really well with VB OOP, becuase you can get each class instance to save itself as XML, concatinate them and thow them at a single SP.