I've patched my copy of imapsync to be property compatible with Scalix when migrating to other products such as MS Exchange Server.
It automatically resolves the issue where Scalix internal messages don't have 'Received' headers by creating dummy headers during the move. These headers use the internal date of the incoming message as the 'received' date of the final message to ensure Exchange and other similar mail servers accept the new date.
* NOTE - I haven't done anything with contacts - they are still not possible to transfer to Exchange *
If people are interested in this, I'll post the complete code either here or as a new fork of the project on Sourceforge.