The likely cause is your moveStoreAtURL:toURL:error:
method. The error you're getting is mentioned in Apple's docs as being the result of failing to copy all of a persistent store's files. It looks like you're trying to hit all of them, but either (a) there's a bug in the copy code that I can't find right now or (b) the store is "live" in your app, being used by a persistent store coordinator, and so you're not getting a consistent state from the copy.
You might be able to fix it with some debugging, and if you ensured that the store was not in use. It would be better and probably more reliable to change the journal mode so that you don't have wal
and shm
files (which that link also describes). Even better, if your store files aren't too huge, use migratePersistentStore:toURL:options:withType:error
to have Core Data make the copy. That should be pretty much guaranteed to work, though in some cases it can use too much memory.