For the first problem you need to set MoveDirection to floor(random(2)) to get a 0 or 1. random(2) will give you numbers like 0.695915905746739 which you can see in the debugger.
For the second you need to fix the sprite collision polygons. That's the area that collides with solids.
<img src="https://dl.dropboxusercontent.com/u/8367729/construct/pics/collisionPoly.PNG" border="0" />