Beware of a couple of things with strings - things that are not a problem with static Tailbitten libraries.
An exported function returning strings is probably best done by the host application passing the address of a buffer to fill etc. This is especially important with structures that are passed between the host-application and the dll. Remove any string fields from such structures and replace them with pointers to buffers etc. A failure to do this can cause all kinds of crashes especially if the dll is being used in another programmming language. The problem arises when, for example, your PB created dll attempts to free a string field created by say a c++ host program! BANG!

Not a problem if such strings are only being read, but a big problem if being written to as this is when one or the other of the host program or the dll will attempt to free the existing string etc.
I may look like a mule, but I'm not a complete ass.