Yes, you can use NCryptoki, together with your HSM, to manage ZMK under LMK in order to have a ZPK for PIN encryption/decryption.
NCryptoki allows you to manage easily your HSM in a .NET application (or JCryptoki for a Java application if you are using Java) by using the PKCS#11 module supplied by your HSM vendor.
NCryptoki (and PKCS#11) suppliess you the primitives to implement your key management process, i.e. you should implement your logic behind ZMK, LMK and ZPK by using the high level PKCS#11 functions supplied by NCryptoki.
For example, NCryptoki (and PKCS#11) supplies functions to create and store any kind of simmetric keys such as AES, DES, 3DES, etc., for ZMK,LMK and ZPK, to wrap and unwrap low level keys, such as ZPK, by using ZMK or LMK.
I suggest to design your flows and processes to manage keys end then to map your process on the primitives supplied by NCryptoki and PKCS#11.
If you need we may help you on your project.