Why is the behaviour of ActiveRecord method_missing different between rails 3.2 and 4.0 ?

As far as I am aware, the accessors for attributes have always been generated using method_missing (the method missing hook then actually defines the accessors, so after that method missing is not used).

What might possibly have changed is when this gets triggered. Regardless if you do override method_missing it's a good idea to call to the superclass as other aspects of active record may rely on this.