You're on the right track. I would suggest that after you delete the hosted elements, that you need to regenerate before the parameters for the wall will be updated.
Try:
doc.Delete(delIds);
doc.Regenerate(); // regenerate to cascade all changes.
wallElem = doc.get_Element(wallElem.Id);
brutto = wallElem.get_Parameter(BuiltInParameter.HOST_AREA_COMPUTED).AsDouble();
If this doesn't work, then I would say your next step would be to try committing the subtransaction. After the subtransaction completes, you may be able to retrieve the brutto wall area, and then Rollback() the outside transaction.