One idea is you could put a sub event after your event 3 along the lines of
while
icicle is overlapping block -- move icicle 1 pixel at angle 180
It would need some more thought if you can fire left as well as right...
edit - another thought is just after you create the icicle move it in the z to behind block (this is a bit of a cheat but should look ok)
The "While" sub event seems to have fixed it, wasn't sure how Loops and such worked so this knowledge might come in handy for future problems as well.
Sorry for the late reply, the help was much appreciated!