Creating commerce product display in rules with PHP results in error
On further investigation it seems that the product created by Rules (in the previous action) is not assigning a product_id in the first place. Therefore there is nothing to assign to the 'product display'.

(I still don't understand why this is happening but rather than change this question completely I will post a new question.)