In a set of projects, you have to handle differently the source for each of the individual projects and the source for libraries, components and other common files.
I have a common base for everything, then a subdirectory for libraries, components and common files, then a sub-directory for all projects.
The library sub-directory has one sub-directory for each group of sources (A library or component can be made of several sources).
The project sub-directory has one sub-directory for each project.
In the sub-directory for each project, I have different directories: for sources, for docs, for dcus, for binaries, for images,...
I never use search path in projects: I always add each required unit in the project. This way I see what the project really need.
When creating a project which is similar to an existing one, I first work on the existing one to split as much as possible the sources: some which are specific to that project and other sources which will be common. Then I move the new common files to the library directory in an appropriate sub-directory. Then I using the IDE save the project file to the directory where the new project will live and then, using the IDE, I save all specific files to the same directory. This must be done in that order so that the original project stay untouched.
I tend to have many source files of small size. Each file contain only things that are needed for the file main purpose.