Re-write the entire trade system would be my first instinct... I don't trust any base lotf system. They are usually bugged out the ass.
Basically you want to
A: Check that the client has the item when adding it to the trade window (so you can't edit it client side and basically dupe/create items)
B: Check that the target client has enough space in inventory
C: Delete the item from the starting character and update their client
D: Add the item to the target character and update their client
Ooh and of course do a trade dictionary to store the items inbetween the steps so you can trade more than 1 item at a time.
Should be fairly simple, you just gotta do server side checks and make sure you are deleting the item and adding it to the new client... and make sure when deleting it, if it fails to delete then you don't add it to the new char (cause if not they could drop it or whatever and again, dupe the item)