Payment processor, avoiding payments being rejected due to 'transaction is a duplicate'?
It has been confirmed by @petednz and by testing without the 'Separate membership payment' option, that unsetting this option resolves the 'transaction is a duplicate' error. 

In our case the membership types were moved out of the form into a price set.