¿Por qué no creáis la DLL con Delphi, declarando la función con CDECL? El resultado es casi idéntico.
O, si tenéis tiempo, echad un vistazo a mi proyecto
Allegro.pas, aunque sólo sea para ver cómo se crea la DLL y cómo se enlaza en Pascal. Eso sí, si queréis probarla con Delphi deberéis seguir las instrucciones que seoane da
aquí (a ver cuándo puedo arreglarlo

)