A disclaimer: I don't use Base or forms, so if anything I say makes no sense in that context, do feel free to laugh, and apologies, etc.
Now then. Have you tried running your macros from events rather than from code? Both dialogs and documents have an event for initialization. If your Project library can open the Part form, then the "On opening document" (or similar) should run from that document with access to its libraries.
If the first form needs to interact with the second afterward, declare a global variable in either library and have the second form set it to its module. If you can still find the module, but not run it, then try setting said global variable to the second form's scriptProvider. Writer documents have individual scriptProvider objects, accessible through e.g. thisComponent.getScriptProvider, though like I disclaimed, I'm not 100% sure whether the same is true of Base forms.
A side note: I've always had quirky and/or sketchy results with using basicLibraries and/or globalScope to get to macros between documents, and you should really never trust Basic's documentation. It tells you to put byVal and byRef in function calls, rather than function declarations. oops!
OOo 3.0.X on Ms Windows XP