I think the root cause is that the
stPropMetadata attributes can't be passed all the way through to the
fourq/displayLibrary webskin that is used to render the library picker (since it's loaded in a subsequent request after the user clicks the "Select" button, and it's probably not ideal to try to pass that data via the ajax request)... So the custom stPropMetadata probably works for drop downs and checkbox render types, but not for library pickers.
You should be able to work around this by adding a
ftLibraryData attribute to your
aSupplierContactIDs property in your content type to specify a method to use for the lookup as this function should always be available, e.g.
ftLibraryData="getSupplierContactIDs" with a corresponding method;
<cffunction name="getSupplierContacts" access="public" output="false" returntype="query">
<cfargument name="primaryID" type="string" required="true">
<cfset var qResult = application.fapi.getContentObjects(typename="yourContentType", lProperties="objectid,label", objectid_IN=getSupplierContactsFor(arguments.primaryID))>
<cfreturn qResult />
(You'd also need an additional method such as
getSupplierContactsFor to look up the valid objectid's for your current object -- arguments.primaryID should bu the objectid of the object that is being edited).
Hope that helps, let me know if you have further issues