Clean separation of business logic from generation of the user interface can help performance. The reason is that if logic on the business level is executed as compiled code such as in a COM component, it executes faster than script, which is interpreted. In general, it is best to use ASP for delivering the user interface of an application, not for executing its business logic.
It is true that a few of the .asp files of the CML make calls that directly access the CML's SQL Server database, FmLib. For more information, see Accessing the Database from ASP Pages. Most of the database access, however, is through the server-side (business-services tier) COM components that are themselves instantiated and called from .asp files. See also Three-Tier Development Model.
Also, clients that participate in the business logic tend to need more data than those that only provide inputs to the business logic. Furthermore, if you use an ActiveX control on the client to directly access the marketing database, you no longer reap the benefits of connection pooling at the middle tier and you decrease scalability.