I've got a client looking over our dev shopping cart at the moment so I wont be able to get the error to you awhile. You're right though, it has to do with the data being (or trying to be) stored in the database.
What you've done looks like you can only select one shipping destination for the cart
What I'm after would be to hack this to allow customers to select different shipping destinations for each product. So if a customer buys 5 copys of the Java Book, the customer can send 2 copies to Peter, 1 copy to Paul, and the other 2 copies to Mary. Tax isn't going to be an issue as it will all be in the same tax zone, however shipping destinations/charges will come into it.
xcart v3.5.8 through to v4.0.14