We had two primary goals regarding cargo dumping:
1) Allow players attempting to prey on merchants in PvP to be sure of getting loot from their victims holds (assuming they're successful, and they choose the loot over sinking the other guy).
2) Give merchants who are attacked in PvP some leverage for negotiation. Give the attacker a reason to accept surrender other than expedience and saving ammo.
The solution we implemented does both of these things nicely. If you're hunting merchants, and you catch one, and you can beat him, you know you're filling your hold. If you're a merchant there is now a reason for commerce raiders to accept your surrender and let you keep your ship. And if they won't accept your surrender, you can still give them the "from Hell's heart I stab at thee" and know they won't get any loot for their efforts.
That's why we liked the solution we went with.
Yes, it does meant that 25% and 50% surrenders are less likely to happen (though as others pointed out, the difference in cargo capacity between attacker and victim creates a small place for them). It also means that, as a merchant, you can't selectively deny some of your cargo to the enemy.
While there are disadvantages to the system we chose, I feel that it does that best job of serving our two goals. We considered a lot of other alternatives, including the ones described here, but we felt that this was the best choice. The solution we chose was also low cost (in terms of development time), which certainly helped push it over the top.