Reproduction Steps
Stand on a part (“Button”) with collisions disabled and respawn your character (via Player:LoadCharacter()). Button.TouchEnded will not fire for any parts still touching Button upon character removal and respawn.
Here is a simple repro place file: TouchEnded.rbxl (38.4 KB)
Expected Behavior TouchEnded events should be fired for all parts inside a character 100% of the time.
Actual Behavior TouchEnded events do not fire for parts in a character under certain conditions.
Workaround
Listen to Player.CharacterRemoving and manually call a custom TouchEnded function for each part inside the character model.
Issue Area: Engine Issue Type: Other Impact: Moderate Frequency: Often
Disabling collisions does not disable touch events and has not disabled touch events since March of this year, so you would be expecting incorrect behavior.