I have a real disease when it comes to this.  If I don't seperate the DAL properly I get all grumpy and shakey.  I mean...there should be some common sense but I never bind a grid to a sqldatareader, never return datareaders to UI logic, etc.  Although 99% of my projects are SQL Server and will always be SQL Server I still can't seem to find the courage to mix the UI with DAL.  Stupid I know.