The current behaviour is indented.
Because on some platform, with sym-links there was a problem where fpc and the IDE had a different idea about what the path should be.
So in those scenarios breakpoints would fail, without the current behaviour.
What should happen though is, that if such a breakpoint is reached, the IDE should realize if the file that is shown for the "current debug location" differs from the "location of the breakpoint". In that case some useful info should be made available to the user.
(This should also happen if a user sets a breakpoint on a line with no code (comment, interface section) and the real breakpoint by gdb is 100 lines later / threshold of break-realline > 10 )
Unfortunately, I have no idea when I will be able to do something about this.
but file is NOT in project,
There are people who include files into their code, without adding them to the project. (from within or outside the project folder, both is possible)
So breakpoints set here, must work.