Another guess at what could be happening - if you add code to the script file and just hit "Quick Reload",
only OnEnter() is called, if it exists, and OnStart() is not. OnStart() is only called when the player enters the map for the first time, or during development, only on full reload.
If the handler assignment code was added to preexisting code after you started the map (which would explain why rope swinging works), but you've only used quick reload, the updated OnStart() function is never called, so the cake() callback is never hooked up.
Edit: Apparently, that's not the case. Both OnStart() and OnEnter() get called on quick reload... God dammit. XD
P.S.
(01-07-2013, 05:03 PM)beecake Wrote: Though it's a little strange to have it set to "...false, 0);"
Nah. It may not be used so often, but it isn't strange if the collision needs to be detected only once.