Didn't get a chance to check out 99's solution since I'm not on latest beta, but here is one working to my satisfaction. It uses the spawn helper itself to check for open spaces around the blocks, then moves them to the correct image point.
https://www.dropbox.com/s/jy04myos0p47s ... .capx?dl=0
This bypasses the issue where adjacent collision boxes count as overlapping (the helper sprite is smaller than the block sprite), and you don't want to shrink the collision box on your block because you need it for your platforming behavior.
Pseudocode:
For each block, check if space above is empty with a helper.
If it is not empty, destroy helper sprite (and try next block).
ELSE if it is empty, destroy the helper above
Then make a new helper to the left of that block and pick all blocks to check collisions.
If collides, destroy that helper. Else, move it to the corner.
Repeat with a helper to the right of the block.
By the way, this should totally work if you manually set instance variables defining left/right corner, so I'm not sure if you're interested in troubleshooting why that wasn't working. The method I'm using right now is meant to save you the hassle of manually setting corners (as variables) in case you have a large level in the future.