Most likely reason of this issue is, packets are send from multiple threads, which means you'll need to serialize the async sending in order to avoid the interleave.
Other than the most obvious 'Wrong header' errors or compression errors downloading from aMule v2.3.2 and later, your clients also have issue when downloading and uploading simultaneously, the uploading/downloading will not last long before it ceased to transfer any data.
I found this discussion, hope it helps just in case one of the developers of aMule decide to take a look:
https://stackoverflow.com/questions/7362894/boostasiosocket-thread-safety