Oy, such a tough call. I agree with Court Jester in principle that you should add an expiry time to trades, but I don't know how enforceable it is- I'm pretty sure the sites don't support it. What are you going to do, make everyone who does a trade send in a timestamped email of the offer?
If both owners are willing to do the trade, your only option is following your league's veto process? If you don't have one, you're SOL. If it's vote-based, I think that would get negged pretty easily. If it's a commish decision, I think it's totally reasonable to take an authoritarian stance here, given how old the trade is and how much the landscape has changed since then.