You should consider more two VB features:
8. Automatic type conversions like:
Dim a As Integer = "1"
9. Not assigment or type checking at compile type:
Dim c As Object
Select Case c
This code generates a warning for use of c before its assignment, a incredible error, because it will never run. And it happens in modern VB.Net versions.
We could assume that you like VB and we could accept it. Every programmer have your "perfect" language and consider it best as no one other.
I know VB since version 5.0 and even today I use this language in a lot of legacy projects, but never in a new project.
Fact is Basic and VB are extremely easy to start programming but they "easiness" are really complicated for the real programmer. A real programmer should be able to run a program and it need to be deterministic. Same input, same output.
Some time a go, a friend mine was asking why a simple sum operation became wrong. She was using ASP 3.0, which uses VBScript, and 1 + 1 are equal to 11. As I saw that, I told her, perfect normal, what was you expecting? I told her simple to type her variables
Dim a As Integer = 1, problem solved.
As me, and probably you, use VB along time both of us know that its evolution is really impressive. In version 5 and 6 its is a really poor in resource for type checking and compile time checking. Today it is more impressive, today 1 + 1 is really 2.
The easiness of VB 1, 2, 3, 4, 5 and we can consider version 6 to create and deploy windows applications are amazing, because your RAD and "good" (for the time) IDE.
Even with creation of Delphi, VB had evangelized his people.
But again, today, we can consider VB a good choice in real big and important projects. Project which requires use of good patterns, use o interfaces, a lot of modules, etc. VB can't handle this.
But again, it's my opinion. I consider VB a easy language not a good one.