I recently had this problem "Mail error: Couldn't load body for LibM" when I recovered a batch of Mail messages from Time Machine to my Apple Mail. Because of this error, it was impossible to move the recovered mail messages with attachments into the desired mailbox on my Mac (recovered mail without attachments presented no problem).
The problem emails indeed all had "partial" in their names, e.g. 95030.partial.emlx When I renamed the files to remove "partial" from the name, the problem disappered and the mail messages and attachments were correct and useable.
I found the folder where the problem mail messages were using the "mdfind" technique described by olli_x elsewhere in this thread:
mdfind 95030
Once I set terminal to the folder with one problem email I was then able to find all the problem mail messages using this:
ls -l *partial.emlx
I found that I could not change the names of those files due to an ACL entry which prevented everyone from changing the file. If the first command below shows an ACL entry, then the second command will remove it:
ls -le *partial.emlx
chmod -N *partial.emlx
Having done that, this line will find all the problem mail messages, and rename them without "partial".
find . -iname "*partial*" | sed -e 'h;s/\.partial//;x;s/\./mv \./;G;s/\n/ /' | sh
If you want to check what this command does, run it with out the "| sh" at the end, and it will generate the list of cammands that will be executed (without executing them). It should be a list of "mv" commands, renaming each file, e.g. "mv 95030.partial.emlx 95030.emlx"