Are you saying you're passing a fake product key to CheckAndSavePKey()?
Here's probably what you're doing. You saved a valid product key using CheckAndSavePKey(), then you started passing garbage into CheckAndSavePKey(). CheckAndSavePKey() ignores garbage if you already have a valid pkey saved (if you read the return code for CheckAndSavePKey() you'll see that).
Don't just ignore the return code for the TurboActivate functions. They tell you important things. Like why things are happening.
To test invalid product keys, first deactivate your product (on the computer side), run Deactivate(1) to remove the product key while you're deactivating.
Now you can test garbage keys.