Ich würde mich persönlich nicht so darum bemühen, unbedingt mit Strings und DLLs arbeiten zu wollen. Du reservierst doch auch Speicher für "Bookmark", um dessen Freigabe du dich auch kümmern mußt. Und in dem Zug kannst du dann auch den PChar aus der
DLL freigeben.