The immediate problem with your code is that the Hex function will return a three-character string for any character whose ASCII code is less than 3840, but when you try to decode the string, you're taking four characters at a time. The larger problem is that you're trying to invent your own "encryption" algorithm, and that's never a good idea. Use an established and tested algorithm instead. CAPICOM[^] would be a good place to start. Finally, you appear to be starting a new project in a dead language. VB6 was released 15 years ago, and is no longer supported. You should switch to .NET - Visual Studio Express[^] is free, and should be more than enough to get you started.
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer