>> "Now that I'm trying to enter a product key, the CheckAndSavePKey function is returning 1. "
More information is needed. Add a breakpoint right before and after the actual native function is called in the "wrapper" pas file.
Is the string being properly encoded as a UTF8? What other options are you using? Did you pass in a trial extension or a product key (they're different things).
>> "I'm saw that your sample included libcgsqlite3.dylib, but thought that it was just a leftover, but now I'm wondering if it's required. (It doesn't come with XE8 or my FireDAC got wacked) Is that file required?"
No, it's not required. It's whatever cruft that Delphi includes when you create a default project.