(14/01/31 23:36追記)
以下の方法はあまりよろしくない
追記しました
http://qiita.com/fuqunaga/items/aa59f0de86c5fe4dd5ae
OnCollisionEnter2Dは呼ばれるのに。
調べたら、
transform.localScale.x を -1 にしてスプライトをフリップしてた のがまずかった
http://forum.unity3d.com/threads/217184-OnCollisionExit2D-Issue
transform.localRotation を180度、Y軸回転して対処したった
よく考えたら物理オブジェクトにマイナススケールってかなりマズそう
いちおうスプライトを子供のGameObjectにしてマイナススケールってのも試したけど、
こっちも大丈夫そうだった