Hi Joram,
Here is the update. We finally found out this is because of the flow names defined for sequence flows. With the names of sequence flows defined, some BPMN Labels are generated by Activiti Designer. These labels are those that created the problem, altering the cordinates of other components defined in the flow. The reason why we feel it is because of the presence of exclusive gateways is that we normally don't give names to sequence flows unless we would show flow logic with exclusive gateways.
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14" width="100" x="-10" y="0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
Therefore, not giving any names to sequence flows fixes the problem. But there must be some bug in Activiti.
Thanks
Sean