I have found what the problem is. If you have mediaembed enabled, and an AdBlocking ad-on in your web browser, some of the Amazon links will not appear as the AdBlock sees the mediaembed as an advert while the link is OK.
Also if mediaembed is enabled and transforms the link to an advert, the Affiliate ID will be striped out but not added.
So, to ensure your Amazon Link always shows and has the Affiliate code added, wrap the link in BBCode.
In the screenshot below both posts have the same link. The first link is not wrapped, the second is wrapped in
where you can see my-affiliate-code has been changed to AFFILIATE-FR