Found the problem.
If you set the AcceptRejectChangesRule in your DataRelation to "None" it works perfectly.
"Cascade" results in the behaviour explained above.
If understand it correctly my parent table passed the AcceptChanges to my childtable which commited the changes in my childtable.