have relative paths. This normally works fine, unless the current working
directory is other than that of the default program directory where the
pref DLLs are normally located. This could happen by executing the
program from a different directory, or by saving a file to a directory
other than the default program directory. In order to fix this, we need
to push to the program directory just prior to loading a preference
COM object, and then pop back.