If I close the arcmap, both locks go away. If I reopen the mxd, both locks reappear, so yes for some reason the script is keeping some reference to the datasource in the original mxd even though all the layers now reference the new datasource.
It is something in the script, because if I use the built-in set datasource tool to change the source and save a copy from the same original mxd, the problem with the locks in both File GDB's isn't there when I reopen the resulting mxd.
I'm working on it right now, and may have just found the fix, need to test one more time. The mxd.findAndReplaceWorkspacePaths call uses true for the default validate input. I just ran it adding False and it appears to have solved the issue, but going to repeat that one more time.