I do not believe the current commit completely solve all of the problems. There are two things that I believe should work with dependent scoped beans.
1) public fields in the bean should work as expected. If we shield a bean with a proxy in the middle, then public field operations occur on the proxy, but the actual method calls flow through into the actual bean instance. This leads to strange behavior. I'll attach a testcase I wrote while I was working on this.
2) To my knowledge dependent scoped beans don't require a default constructor. 3.1.3 allows for constructors annotated with @Inject, and I believe only 5.4.1 restricts this further. The committed change to LifecycleBean looks like the same problem I ran into in my first couple attempts.
I'm still working on this area myself, just wanted to share some of my thoughts.