Antes de nada, daros las gracias a todos los que habéis intentado darme una posible solución al gran problema que tenía.
Después de mucho bucear por la red y dejarme los ojos leyendo toda la documentación que tenía disponible, al fin encontré la solución. Como me imaginaba, estaba seguro que se trataba de una tontería, como suele pasar.
El problema residía en la definición externa de las funciones que remiten a la DLL que usan.
Hasta ahora utilizaba la siguiente declaración:
Function MiFuncion; external 'MiDll'
y el problema es que bajo Windows 2000 el nombre de la DLL debe incluir la extensión .DLL o el programa no funcionará aunque si funcione perfectamente bajo Windows 9x, Me y XP. Así de simple.
Function MiFuncion; external 'MiDll.DLL'
En fin, espero que os sea de provecho la resolución de este problema.
Un saludo a todos.