I my situation the BeforeDelete event is setting e.cancel to true and no other code is really getting run in the DeleteCurrentRow method. Since lnReturn is being initalized to 1, 1 is being returned.
Hope this helps.