En particular, creo que es mucho mas fácil trabajar con BPL´s, y sólo utilizaría DLL´s para compatibilizar mis aplicaciones con otros lenguajes que no sean Delphi y/o Borland C++ o alguna aplicación muy específica donde priorize otros temas.
La gran ventaja con las BPL´s es que no tienes que desarrollar todo ese "protocolo" interno para que tu aplicación se "comunique" con la DLL, puedes compartir clases como si estuvieras programando una sola aplicación, salvo que quieras cargar los paquetes en forma dinámica.
Les recomiendo leer este link:
http://www.clubdelphi.com/foros/show...ht=MODULARIZAR
Saludos!