Thanks for the response. I actually read that before posting and it didn't clarify anything for me.
I don't understand this statement:
This happens when mv has to actually move your data to another device, but cannot remove the inode/pointer, because if it did then there will be no data to fall back to, and if it didn’t then mv operation is not really complete because we will end up with data in source.
but the author goes on to say (basically) that you have to use cp instead of mv, them remove the source directory with rm -rf.
That seems preposterous. What's the point of having a move command if you're just going to copy then delete the source?
Interestingly enough, since posting the original message, I've found that if I issue the mv command and the destination directory does NOT already have a directory with the specified name, the mv command works fine.