There is a migration, though slow, from VB6 to ASP.NET C# stuff.
We use VB6 because of the component-like nature of how it can integrate with other parts of a larger application--and it usually doesn't have catastrophic failure (like a segfault) which can be contained. Another aspect of why it is used is because of the low-memory requirements, which by extension means one server can host more application sessions for more users. (It is easier to upgrade one server's software instance than thousands of individual workstations)