You should start using Families in your project, because you have too much repetetive code. It will simplify your work & make it far more manageable.
If BonusStage events are included in Game events then it is likely there is a conflict between the two.
For objects like this I would recommend to create a family, let's call it "Gateway" and include there sprites you want to use for such purpose. There in "Gateway" create a variable e.g "SendToLayout" and write there the name of the layout for each "Gateway" object.
Example: Sprite "Bell" has in SendToLayout: "BonusStage"
All you need to trigger this in events
P.S You should probably disable Solid on object your character supposed to hit or make offset collusion if there is some good reason for it to remain solid.
P.S.S Really advise to learn families. My "gateway" example is superficial use of the family. In fact, you could make all of your interactable object under one family with few extra variables.