We use it in work every day for all our projects. You can see a basic example here: http://code.google.com/p/codecampserver/
Hm… Why would you create two separated projects for DAL and BLL? Don’t know about you guys, but for me that seems to complicate situation without of real reason.
At the other hand, you should consider building web service on top of BLL so that you can fully separate UI layer.
And of course, you should take a look at some CASE tools like Power Designer.
Jamming a web service layer between the BLL and UI is not something I’d ever do willingly. Web services are just a different UI layer to me.