I think that the delete might not be working rite because of out of order code. There is currently a bug in DataAssist that makes it so the loops for the multi delete, update, and insert server behaviors can sometimes be outside of a repeat region when they should be inside of it.
I have moved the repeat region code to be outside of the repeat selection code to see if this helps you overcome this issue. Please use the attached updated file in a test to determine if you are getting a better result. Make sure that you backup the current page first though.