I now make a filesystem tree to store the library. In addition, I am using inode number to track songs. This should make it easier to detect moved files (inode number matches but path doesn't).