I believe that your issue may be that PDFDriverInit() is failing.
The PDFDriverInit() function will basically fail in a couple of different situations..
One: Make sure to copy all distributable files to the application’s main directory. The application’s main directory is usually where the executable file is located and the list of distributable files is as follows:
If one of these files is missing then the PDFDriverInit() function will fail.
Two: Make sure that on the system you are calling PDFDriverInit() that you have only one instance of the CDintf.dll.
Three: When using the activex interface of the PDFDriverInit() function, the function will look for the dependency files in the directory where cdintf.dll (cdintf450.dll) was registered and not in the application directory (where the EXE is located). In this scenario you will need to register cdintf.dll (cdintf450.dll) in the same directory as the dependencies, so that the DLL can find the other driver files.
Four: The PDFDriverInit() function dynamically installs the PDF Converter on the user’s system. If the logged in used does not have administrator privileges on the system, the function will fail. In the case where the logged in user does not have administrator privileges, you can install the printer on their system using Install.exe (Install.exe should be run by an administrator) and inside your application you replace PDFDriverInit by DriverInit (the printer will remain on the system even when the application ends). DriverInit will take as parameter a string containing the printer name as it appears in your printers' folder.
Get PDF Suite, the expert .NET developer toolkit for PDF conversion, creation and editing - www.amyuni.com/pdfsuite