I just found another oddness..
I set the compiler to create new directories per target os, so I have a darwin directory under the project directory.
I can run the program from terminal but ONLY if I do so from the project folder, NOT from within the darwin folder.
So this works:
user$ ./darwin/program
Or user$ ./darwin/program.app/Contents/MacOS/program
But if I cd into the darwin folder, I get the file not found error.
This is, to me, bizarre...
--edit
I use Lazarus 1.6, FPC 3.0.0