FYI, the VB language is not dying. It is fully supported is VisualStudio.NET.
The Java/.NET platforms are pretty much identical in terms of what they bring to the table, except the Java platform is more cross-platform, but there are options such for doing .NET cross-platform such as using Mono, and if a GUI is needed WxWidgets .NET wrapper, etc. Both are just as powerful as the other. Besides those two there are other virtual machine paradigm platforms available depending on your needs.
There is absolutely zero need for doing C/C++ anymore unless you are writing drivers or performance oriented (such as low-level APIs, databases, graphics engines, etc.) software and even then in many cases its not always a cut-n-dry advantage over virtual machine based paradigms.
Gotta pick and choose based on you (or your project/team/etc.) needs and what best fits those needs, not just accept that X is bad because someone said so.
But yes, the InSim structs only state what part of the byte array make up what data values. So what you need to do is take the byte array and pull out the relavent parts, such as bytes 5-12 of the IS_VER packet and convert that into a string. There might be a method in VB that does this for you, or you may need to do it yourself. Word, etc. types are a bit tricker. Seems, from a quick glance, Stuff's VB code has working examples of this.
In LFSLib (as far as using VB in VB.NET), sd plays some games with unmanaged code to basically take a byte array and copy it into a structure. See the GetBytesSequentially() method of the PacketFactory class.
As far as *not* using libraries; there are pluses and minuses to this.
A minus is you are re-inventing the wheel so are putting a lot of
time and effort into something that if you put your time and effort into your codebase that furthers your goals.
Sometimes re-inventing the wheel is good if you feel you can do a better job than someone else. Which is why there are so many dang 3D engines, or as an example in open source world so many logging libraries, etc. for any number of languages. Most programmers frankly have a "if not invented here" syndrome.
Plus in not using them is then you pretty much have written everything you are going to need from the ground up so you should have a great knowledge of whatever you are attempting to accomplish.
But really the bottom line is that just about everything is a library of some sort. All the languages, they are really *just* a library for spitting out machine code.