I'm having the same problem as your original post.
Sometimes the hero will stop right at the solid block, and other times he will stop 1-6(ish) pixels away and refuse to get any closer.
I'm (kinda)trying custom movement right now, and collision detection is giving me a headache. I'd rather if I could just get the 4way direction movement to work properly for me. =(
As for the bullet movement you are trying, I'm not sure if you need to check for collisions, but if you do, disabling the bullet is not what you want to do. That basically turns off the bullet behavior for that object. Instead try setting the speed to 0.
Also, you might(maybe) need to use "Overlapping at offset" to check for collisions before they collide, but that could be totally wrong, I'm still very new to Construct 2.