Here's an updated project: Snap! Build Your Own Blocks
I tried implementing the ideas you sent, and it helped to clean up the code. But now I'm having a new issue.
When the original sprite touches the other sprites, it only returns the "overlap" of the first clone (as shown by the "data" list), no matter which sprite it is actually touching. Note: the overlap should be a negative number when it is touching a sprite. The overlap will be used to make sure sprites don't get stuck to each other.
Keep in mind, every clone should also interact with each other, not just the parent. I'm just trying to go one step at a time, so I'm just focusing on the parent script right now.