Yoyo,Greg is correct. The BOs use an internal ADO.NET data table which is exposed through the CurrentDataTable, CurrentView, and CurrentRow properties. If you cycle through the CurrentDataTable it will include any deleted records by default as the CurrentView, by default, will filter the deleted rows. However you can turn this off as well. The RowState of each row has the modified, added, etc state.
For Each loRow As DataRow IN MyBO.CurrentDataTable.Rows
'-- Check the row state
If loRow.RowState = Modified Then
'-- Check on modified
End If
Next
If you just want to check the current row then you could use the CurrentRow property which is the current row of the BO maintained by the CurrentRowIndex property of the BO.
If MyBO.CurrentRow.RowState = Modified THen
'-- Add your code
End If