why would it be a long... it's a verBYTE. a byte value.
Every generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?
You've just located global warming.
That's why you do CLng(Config.VerByte). You define the variable as a byte because it's more efficient to have a byte variable than a long variable. Then when you need to send it, you send it as a long.
CLng(expression)Converts the value of expression to a Long data type. The argument expression must be a numeric value from -2,147,483,648 to 2,147,483,647. Fractions are rounded.
CByte(expression)Converts the value of expression to a Byte data type. The argument expression must be a numeric value between 0 and 255.