I used to work for CitiBank, and the client-side software used by their customer service reps to service credit card accounts was thick-client VB software (though the other tiers of the arrangement were not). I don't know if it's still VB based, since the company was still kicking around the idea of moving to a new platform when I left them a couple years ago.
The app was comprised of hundreds of screens dealing with everything from lost/stolen cards to rewards redemption to credit line increases, as well as general service questions. 99% of a customer service rep needed to do for a customer could be done with this software, and in an industry where seconds of lost productivity by customer service reps equates to millions of dollars lost, it performed just fine.
I also used to work for the MHA group, which recently merged with AMN Healthcare, making it one of the largest physician & nurse staffing companies in the country. It's entire business software suite, from invoicing to accounting to payroll to staffing was handled by software written in-house in VB.
I once wrote an EBSDIC to ASCII converter in VB to convert Texas Railroad Commission files to a format we could use, because a contract programmer had written one in C++ that didn't work--it translated text fine, but it didn't account for the EBCDIC Packed Numeric format. The version I wrote in VB was faster, and had GUI such as progress bars, etc. Granted, the C++ program could have been optimized and improved, but the point is ultimately that VB can compete on many levels with other programming languages.
Like martial arts, the ultimate value of a programming language must be judged by what a good programmer can do with it. Unfortunately, VB is so simple, it's easy for bad programmers to fake it just enough to get hired.
Just because it has the word "basic" in the name doesn't make VB unsuitable for applications.