@Jaco: Some might argue why almost ANY keywords are necessary. For example, why type "Then" for an "If"? Why not use C++ style curly braces to save on other typing?
I think the WithEvents was an alert to the compiler that it needed to do a lot more work for that variable so that it could handle events (not to mention Visual Studio so that it could, as you pointed out, let you create an event through the drop-downs).
My personal thoughts are that VB6 and below were meant to be very easy to understand and, in that regard, VB was beautiful as a language. It may not have been the fastest to type in, but it gave you a chance to make the code very easy to read (not necessarily understand, which is what the developer should be doing).
Overload is a big necessity, in my opinion. It states clearly that the developer is overloading something existing versus creating a new version of the method. Stating the obvious today makes the code MUCH more readable tomorrow when you don't remember what methods are "new" and which ones are being overridden.
Now why Visual Studio doesn't fill in the parens as soon as you type in "if", I don't know. I can't think of a single time when you'd type in "if" and NOT want the parens there...
-Nerseus