There never was a chance that we would use RIA, for the same reasons you iterate, black box, MS defined and constrained functionality etc. We built our own, first building a code generator (modified the existing one which began life in VB5) to service the WCF requirements. This is basically simple boilerplate code for the object and CRUD work. This pushes 90% of our work into the VM and View, where we have some really cool snippets that eliminate all the donkey work and leaves us with the difficult stuff like making the dammed view do as it is told! It is painful getting a design idea wrong, you should see the crap we (I) created around dialog management before I got a handle on the child window concept.
Never underestimate the power of human stupidity RAH