I'm running ChainFire3D and for some reason, the per-app setting doesn't seem to work at all. But when I set the default setting itself, it works. I saw that one of ChainFire 3D's requirement is for the /system to be always mounted as read+write. I experimented and by mounting it via Root Explorer and restarted the phone. After restart, /system was back to read only.
So yeah, how do I force it to always be moounted as read+write? This is on CyanogenMod 9, ICS 4.0.4.