Hi everyone, I experienced same problem and found this post as a great resource of information, so thank you all.
Anyway I found a different solution by enclosing the Edit/Update block inside an explicit transaction, as follows:
...
DBEngine.BeginTrans
rs.Edit...