How do you verify that SubmitChanges() worked for inserts and updates? The method doesn't return a bool or int value.
If an insert fails it will throw a SqlException. I think it may do the same for failed updates.