the most plausible explanation is that you have a concurrent background sync job. maybe triggered by a directory watcher on the mailboxes, which would cause the race somewhat reliably.
isync uses process-associated locking, so an internal origin is impossible even you are trying to sync the same channel/box multiple times and isync somehow forgets to close the state files. isync doesn't check the errno of the failed fcntl call, so it's possible that the error message is bogus. strace would tell. are you running an experimental kernel? maybe it's being funny ...