Vinh
This is an interesting question and perhaps may involve a behavior change for MSFC code. I looked a good while back at the question of whether you could turn off IP routing on the layer 3 engine of a switch. (it is clear that in IOS routers you can use the no ip routing command to disable IP routing - and effectively turn the router into a bridge. the question was could you do the same thing on the layer 3 engine of a switch). I found some documentation that states that IP routing is inherently supported on the layer 3 engine and that you should not be able to turn it off. But we also found that the Catalyst switch would acept the no ip routing command and that it would show up in the running config. The interesting thing was that when you rebooted the switch it went back to ip routing.
From your question and the behavior that it shows that Cisco has changed the behavior of the MSFC code. Since it is not legitimate to do no ip routing on that engine it now appears that you can not do ip routing (which prevents doing no ip routing).
If you use show protocol and show ip protocol I believe that you will see that ip routing is enabled. I am not sure what the problem is with routing between your sup and your FWSM but I believe it is not related to IP routing being turned off.
HTH
Rick
HTH
Rick