We had this same problem...ended up creating a great pick ticket in Crystal and using a stored procedure to update the order status. We tend to have a lot of transfers in bin locations and using the hard allocation was just not possible, now we use soft allocations and confirm ship, and do not have to lock inventory down at the bin level.