For any DLL, I would go another step and use PAnsiChar or PWideChar/PUnicodeChar, not just PChar. Just to be more clear about the type.
In FreePascal, PChar usually is still PAnsiChar, but I remember the chaos when Delphi switched the default from Ansi to Unicode, and even in FreePascal, if someone uses $mode DelphiUnicode, String suddently is UnicodeString (and PChar maybe PUnicodeChar?).
Plus, for anyone not fluent in FreePascal who might want to write an interface to the DLL in another language, reading PAnsiChar or PUnicodeChar is giving a direct hint at what is to be expected.