Okay, as far as your bullets go, there is an easy fix: DON'T make them Solid . They don't need to be Solid. They work just fine when they are not solid.
As for your black hearts... there is not a lot you can do about that if you want them to push the player. If two hearts push on the player from different directions, you will get strange results. The player will teleport, or jitter, or get stuck.
There a few things you can do to fix this:
1. Do not make enemies or bullets solid. Make only the player solid, and any walls or obstacles that do not move. As a general rule, if an enemy or a bullet is moving, then you probably should not make it solid.
2. Use Physics instead of 8Direction on your player, and use Physics instead of Bullet on your hearts. (You will have to make them move with events.) That way they can push each other around all day and it will work properly. Physics behavior is made to have solid collisions with many moving objects, Bullet behavior is not.
3. Write your own custom collision routines with events. This is not recommended for beginners.
Good luck