If you're really concerned about scalability, you're probably looking at using multiple Web servers. Well, using the session object can be difficult in a multi-server environment, since a session is tied to one Web server. If you have multiple Web servers that work together to host your app, you'd have to guarantee that each user request gets back to the same Web server it was on last, because this is where its session object resides. This intelligent service also lets you ensure that the same client IP address gets handled by a single server. WLBS lets clients continue working with their existing session object across multiple round trips to the Web server.
Performance is also a tremendous concern with today's Web applications.
One simple issue to keep in mind is to separate your static content from your dynamic content. This isn't an issue with most enterprise apps, because you're generally issuing a set of dynamic pages to manage data. Also consider placing some of your logic into COM components, especially if you're performing data access from an ASP page. The compiled code will perform much better than ASP's interpreted code. VB6's new development framework, WebClasses, lets you place your logic in a component while keeping your UI content in an HTML template.