For "All files in project group", TGrepSearchRunner calls GrepProject for each project of the group. With "Parse map file" checked, GrepProject then calls Ota.GetCurrentMapFileName and GrepMapFile, which calls Ota.GetAllPossiblePaths without a project. Both use the current project, not the one being searched.
So the units of the current project's map file are searched once for every project in the group, with the current project's folders, and the units that only the other projects use are not searched at all.
Found while reviewing the fix for bug #553. Seen in the code, not tried in the IDE.