Debugging ADO.NET Data Services can be tricky, not because of the web service part but because of the underlying persistence layer. You can include the exception details on the error page by including this on the DataService<T> class declaration...
There are two possible interceptions you can perform on an ADO.NET Data Service: Query interception: intercept a query made for an entity in order to enforce a restriction; Change interception: intercept a request for updating an entity and possibly cancel...
With the arrival of the LINQ provider for NHibernate, NHibernate now supports ADO.NET Data Services. There are some restrictions, however: Relations must be entities or simple collections of entities (Entity, IList, IList<T>), not sets (ISet<T>...