CKO_VENDOR_DEFINED is the base for defining custom objects. It cannot be used to define new objects. Usually a new object is defined in this way:
CKO_MY_OBJECT = CKO_VENDOR_DEFINED + 3;
Then, NCryptoki is a .NET wrapper to any PKCS#11 token. This means that it can work with any PKCS#11 token such as PIV card and any other PKCS#11 card.
Anyway, I just read the PIV specifications and I see that they defines a well defined, static, ISO 7816 filesystem. This means that such cards can be read and write by using low level command APDUs using PC/SC interface. I see also that Charismatics supplies a PKCS#11 module to access PIV cards while I was not able to find the same PKCS#11 module for gemalto.
Are you sure that you are using the correct PKCS#11 module for gemalto PIV cards?
Maybe the other software that shows the content of the card uses the low level PC/SC for reading from the card instead of PKCS#11 module.
If so, you can use my .NET Smart Card API instead of NCryptoki to access the PIV card. I may update the API by adding the PIV specific definitions.