When I assign a '-' value to Y, the character dies when it touches the underside of the platform.
Then add another condition, checking that the character is above the platform. Character.Y<Platform.BBoxTop
You can also place an invisible sprite with a smaller polygon size inside the platform and use it for collision checks.