But Lazarus makes a bundle with a link were the binary should be back up to same level as as the app directory -
That's a known defect in Lazarus, that it can't create a proper app bundle.
Copying the actual executable over the symlink is all you normally need to do to fix this.
I'm having a similar problem.
If I double-click the .app folder (using finder) on the machine that I created the .app, it runs fine.
If I copy the .app file to another Mac, and double-click it, I get "The application "project1.app" can't be opened"
If I "show contents" of project1.app, and copy the project1 file over the link in the "MacOS" folder in project1.app, it doesn't make any difference. Same error on the other machine.
If I copy the entire project folder with the lib folder and everything to the other machine, then double-click project1.app, it will run.
It seems there is another file that is needed for project1.app to run.
I haven't been able to get LazXProj to compile yet, so I'm wondering if anyone has any suggestions on how to create an application bundle manually with Lazarus?
This is a Cocoa app, but the same issue with a Carbon app. The IDE is on MacOS Mojave.