You have that 'player.y > Tombstone.y' (player compare y) in both the PUSH and PULL group. (in the top condition)
Well. See. The size of the player = 32*32. The tombstone = 32*32. Both origins are in the middle. Conclusion : Their Y should be the same (in a perfect world) when you push/pull because they stand on the same platform.
This condition should never be true, and therefor the whole event should never be true.
But. Positions in C2 go far in the decimals (like 45.458878884). Especialy when there are physics involved. Platform is a form of physics. Meaning: none of both objects is ever exactly 16 pixels above the platform. It is always near 16 pixels. Like platform y position + 16.01178 or platform y position + 15.8988.
Conclusion: sometimes the players.y is heigher then the Tombstone.y, sometimes it is lower. Why it sometimes works and sometimes not. When you make the player jump, the player gets a new Y when landing. And again, sometimes his Y is lower, sometimes his Y is higher then then the Tombstone.y.
Solution: offset the overlapper's orgin a few pixels towards the bottom. Now it should not collide on the bottom. And lose that condition 'player.y > Tombstone.y'.
Not sure if you need it at all.
You still have a few animation problems too. Hope you read trough the lines of my bad english.