It sounds like you have a "Hard Code" location set in your custom.pll library file.
When you attach a library, you will receive a prompt to "remove non-portable directory specification". If you answer No to this, when you open the Property Pallet on your attached library, the PL/SQL Library Location property will display the full path to the referenced library. You can't re-inherit the property to clear the path so you have to delete the library in the Attached Libraries node and re-attach your library and answer "Yes" to remove the non-portable directory.
If your library does not have a 'Non-Portable" path listed, then the issue must be a problem with the FORMS_PATH the Forms Builder uses to find referenced objects. Double-Check your FORMS_PATH registry entry to ensure there are no spaces or other characters that would break the path. I have found it helpful to copy-n-paste the FORMS_PATH value to a text editor (like TextPad) where it is easier to read and see spaces and other characters that shouldn't be there. Also, check to see you didn't accidently put a Colan (:) in place of a Semi-Colan (;).