From Rockford Lhotka's Expert C# 2008 and VB 2008 Business Objects books
We use the ECL.
With the exception handling, you can use a logging handler for exceptions, which ends up utilizing the logging portion of the ECL. With the logging portion of the ECL you can use listeners, one of which is a database listener which will take logs (of errors in this case) and write them to the database. We built a custom listener which uses a CSLA object to remote over and write it to the database, if we want to support n-tier where the machine handling the exception isn't the server and/or doesn't have access to the database.
Well, we tend to just capture the errors on the client (and with ASP.Net if they are unhandled there's a place to handle them, I suspect there's a WinForms equivalent).
If you want to catch them on the server w/in the DataPortal, you could insert a method in *your* framework's business base - that class you insert between Csla.BusinessBase and any of your classes...
Upon an error in the dataportal, it looks to call this method on your object. You could place the code there.
obj.CallMethodIfImplemented( "DataPortal_OnDataPortalException", eventArgs, ex);
Hope that's what you're asking