I can see you've definitely tried a lot of things, particularly with the timing & Waits!
Ah okay, I thought it was because the gap was meant to be there but had ended up in the wrong position:
^because of the Forward ability. But the result was different to the code anyway.
I tried switching around the order of the Yellow code:
to make sure The Colour is set before the clone is created.
And it improved the position of the gap, but still it was in the wrong place which was suggesting something was still up (even if we didn't want a gap in the first place too)
So then I looked again at the Object is Cloned rule. Timing can be a little unexpected with clones just because we don't know when blocks will run exactly after another one.
Just to be safe, I tend to move anything that uses variables – that are likely to change soon – to near the top of the Object is Cloned rule. So that the current value of the variable can be used before it changes... i think I'm explaining it in a confusing way, but here's a screenshot:
In short, I moved the code that had The Colour further up in the rule, than the Set Size which doesn't use the variable, because The Colour might change to another value soon.
Then it turned out as expected from the code (which was good ) Now as for the gap, I think it's due to the Forward ability from earlier.