Ich nutze mittleiweile of XEx
DLL's von D2007 aus.
Dein Beispiel ist correct.
WideStrings werden "von Windows" verwaltet, daher machen die kein Problem.
Strings und AnsiString gehen nicht, weil die in unterschiedlichen Speichern verwaltet werden.
Native type wie byte, integer und gehen natürlich auch. Das gleiche gilt für interfaces.
Für Streams musst Du einen IStream verwenden.
Mavarik