Dynamic link libraries are not loaded until they're called. The reason that stimulus DLLs are loaded when the program starts is to call a special initilaization routine that initiates the stimulus protocol. This routine is passed a window handle that is used to pass the stimulus messages from the DLL back to ESL. This window then generates the appropriate ESL response within the application. Since ESLCMSRV is a stimulus DLL, it is loaded. DATELIB is not a stimulus DLL, so it is not loaded until it is called during the program execution.
There is a way of forcing the DLLs to be loaded when the ESL application starts, by using the command line option "-config". Using the -config option forces all the DLLs with a MAPENTRY statement in the active ESL configuration file (typically named "EslConfig.ini"), to be loaded and the file details written the errorlog. If a DLL cannot be found, then an error message will be sent to the errorlog, however, provided none of the functions contained within the DLL are used, this error message can be ignored.