BTW, you can take a look and see the inherent difference between the two notations - in the first, we don't know at compile-time that $foo2->foo() is going to return a reference. In the 2nd, we do.
ic! you're preparing the ways from the "loose typed" to the "strict typed" optional language extension discussed before to enable private vars and co ;)
just kidding (in reference to your own words "PHP is a loosed typed language"), I'm sure this issue is generating some headache, but I believe you can understand that no one is happy to change his code experiencing that a "thought-to-be-feature" has been deactivated because it should not have worked at all properly
as already mentioned this "patch" is going to stay, thus I´d vote for a "red mark" along with the 4.0.4 release
andré