I used Visual Basic back in the good old VB6 days. When .net came along it got complicated. They removed the built in serial port control which made it a lot harder to use. In later versions they put it back. But what was always an issue for me was the portabillity of the application developed. I was never able to have it produce a single executable or an installer (with all needed dependencies) that was easy to deploy on someone elses computer. For ones own use, where you run what you develop on the machine where it's being developed it doesn't matter.

PureBasic looks interesting (I have not tried it).
Claims to generate single, 32 or 64bit executable without depending on multi gigabyte frameworks, runtime interpreters and what not on the "customer" machine. A bit old school perhaps but if you liked VB6 as much as I did perhaps PureBasic will do the thing.