Ninguna barbaridad. Yo creo que ese que comentas es el buen camino. Puedes realizar "Addins", que pueden ser BPL's o DLL's que se carguen dinámicamente.
Lo lógico sería que al iniciar la aplicación, por ejemplo, se revisara un directorio de Addins y cargara todos los ficheros DLL o BPL que encuentre ahí.
Esos ficheros tendrán que tener una estructura determinada para que el programa pueda reconocerlos.
Dentro de ellos tendrás que programar los nuevos "métodos".
En los foros hemos hablado otras veces sobre packages y sobre DLL's.
También puedes revisar
aquí (mirror temporal de mi página) donde puedes encontrar un ejemplo sencillo de cómo programar PlugIns utilizando Packages de Delphi
"Sistema de Plug-ins utilizando packages dinámicos" o desde
aquí donde está el artículo completo en PDF/ODT y el código de ejemplo.