One option you could try.
Why not have 2 copies of mario - one using physics and one using the platform behavior. Destroy and create the appropriate one whenever it's needed.
** EDIT **
Having just played around with this idea, I can't recommend it. I'm not sure if it's mixing Physics and Platform behaviors (even though not on the same sprite), but it seems to make C2 behave VERY erratically. It's crashing more than it has since the early days :(