Buy-side trading: After execution, excessive complexity...

Let's look at a fairly regular workflow in a buy-side:

  1. Portfolio Manager decides to sell a holding in a UK equity over a number of portfolios
  2. Sell order is entered into an OMS along with the accounts - since the PM operates at the account level the block level trade is created from the bottom-up.
  3. Buy-side dealer sees the new order pop-up in the OMS, acknowledges and takes ownership
  4. Buy-side dealer sends the order in one size to a broker trading algorithm
  5. Broker trading algorithm executes the order in a number of market executions, possibly over different execution venues
  6. Once the order is fully executed the buy-side OMS notifies the buy-side dealer that the order is filled.
  7. Buy-side dealer then sends FIX allocations to the sell-side, sell-side acknowledges the allocations.
[Note, UK equity, so no Japanese allocation rules and no futures give-up issues]
At this point the work of the front office is complete and the allocated trade is now passed downstream to the middle and/or back office.
Some firms insist on a confirm/affirm workflow after using a FIX allocation workflow.  Now we get to the big question:
Why use a confirm/affirm workflow if you have sent fully figured allocations by FIX?
If all of the charges for the trade have been calculated by the buy-side and there is a true settlement amount calculated that will be expected by the custodian, why have the confirm/affirm workflow? If there is an issue with the FIX allocation workflow, perhaps the correct commissions and charges are not calculated, then why not fix the FIX workflow? Banks do not like paying for third party confirm/affirm systems so why don't banks work it out that they should work with the buy-side and buy-side technology vendors to remove the entire stage of confirm/affirm?
It gets a little more complicated in the case of executing futures with one broker and giving up to others and in the case of Japanese equity trades (the one-yen difference and discrete market execution lot level allocations) but these are implementation details that can be resolved.
I have always wondered why no-one bothers to do this?