DLL: (Dynamic Link Library) es una librería que contiene funciones compiladas, existen dos tipos las regulares (que se cargan con Declare) y las COM (Component Object Model) que son las que se cargan por Referencias a tu proyecto, las primeras se pueden crear con VC++ las segundas también con VB.
OLE: (Object Linking and Embedding) es una tecnología para compartir información en un principio que luego se amplió a controles con la interfaz (para VC++) IOLEControl, tanto ActiveX, como COM y OLE son tecnologías que actúan bajo un mismo concepto un control ActiveX es un objeto que expone el modelo COM (según la MSDN: ActiveX object
An exposed object of the Component Object Model (COM). )
API: (application programming interface) son un conjunto de funciones que interactúan directamente con procedimientos del sistema operativo. Las API's están siempre en DLL's regulares (KERNEL, SHELL, ADVAPI)
En cuanto a tu pregunta un ActiveX no equivale a una DLL ni una DLL a un módulo de clase y todo eso no es OLE y no tienen porque tener relación con las API de Windows. Te sugiero que revises la MSDN que están todas las definiciones, las que puse arriba son de ahí mismo.