1) by not having the bush passable...
The problem is that there is an automatic to simulate a two-level-dungeon by having the upper-level-floor-tiles and the lower-level-floor-tiles not directly passable. However, to allow for climbing points, any passable tile from B overrides that directional block. This is usually used by ladders, but it creates the problem that other passable B-tiles also override the lower/upper-barrier.
You can either use more care when placing the bushes, or there might be a script that can help you - but that is default behaviour, and you'll have to use tricks around it. If you follow the link in my signature, one of the tips there has more details on this. Behaviour (although nothing to stop it, it just explains how it's intended to be used)
2) simply don't assign a sprite to the event, keep it on priority "same as player" and don't check "Through".