4 fragments on a 8GB file is negligible. The main reason MyDefrag can't move a file is that it is write-locked by a process. The file size doesn't matter.
It's also possible that the file is wrapped around unmovable files and thus shows as fragmented in other programs
Before I start to defrag the disk I use the Firebird server manager to turn the Firebird server service off so there's no way the file is locked by the database server. As I had mentioned the disk that the actual database files are on is a data disk and I only keep my database files on it, the MyDefrag diskmap also does not show any unmovable files so I don't believe that is what is causing the file to be unmovable.
Do I understand you correctly that MyDefrag does not consider a file fragmented if it is in multiple segments but those segments are separated by one or more unmovable files?
I don't doubt that there are instances where a file can't be moved for the reasons you state, I just don't see that being the case here.