So what's the problem, more specifically?
Does the program and communication work but the ADC does not?
Is it the math that's the problem?
Is it a binary/ASCII thing when you're sending the data?

Posting a chunk of code with a problem description basically saying "it doesn't work" isn't of much use to those taking their time trying to help you - of course it doesn't work, if it did you wouldn't be posting, right?

So, I'm going to take one shot at it:
The documentation for USBService says that it needs to be, and I quote, executed at least every 10ms throughout the program. In your Select Case block you have 50ms pauses which violates that requirement straight up.

But then again, perhaps the communication is working fine and the problem is with the math - what do I know...

/Henrik.