When running a SOAP integration synchronisation the status returned at the end of the sync is "Warning". Also an error message appears in the logs:
"ERROR in LoadChangeLogResultFromQuery - GetForeignIDValue called for an id that was blank."
All of the linkages look correct and everything appears to be as it should be - sql logs etc.
This issue was caused by incorrect field permissions in CRM.
The problem was that the field security on the field "oppo_primaryaccountid" field was set to 0 which is no read or write.
In order to fix this issue Read Access was granted to the "oppo_primaryaccountid" field.
This has been fixed in Sage CRM 7.1n