Hola SpeedCad.
La principal y evidente diferencia es que son tipos de archivos distintos: uno una biblioteca y otro un ejecutable. Bien salvada esta obviedad, tenemos que una DLL activeX es una biblioteca que proporciona componentes que pueden ser creados y reutilizados por otros procesos que cumplan los estándares de tecnología ActiveX, así en un cliente se ejecuta un programa que contiene una referencia a una DLL REGISTRADA en el propio equipo y que le permite crear ciertas clases.
Por otro lado un EXE activeX es un ejecutable pensado para ejecutarse en un servidor y que proporciona y gestiona componentes que pueden crear los posibles procesos clientes (fíjate que en un proyecto EXE activeX se pueden crear clases públicas, en un EXE normal no puedes). Los componentes se registran en los clientes de una forma distinta, usando CLIREG32.EXE (creo que era así) en vez de REGSVR32.
Bueno, esto así a grandes rasgos...