Лазарус (freepascal) может компилить dll.
При компиляции простенькой dll - все хорошо.
Если пытаться воткнуть в dll свою форму - dll собирается, но не жизнеспособная.

Если даже в пустой проект dll в список uses вписать dialogs -
получается нежизнеспособная. :angry:
С модулем windows например все работает.
Делается нехороший вывод:
- а что - окошки в dll нельзя использовать? :blink:
Кто знает - ткните носом в FAQ какой-нибудь или RTFM

PS.
fpc 2.0
lazarus 0.9.8
winxp