I *swear* I already posted this, and I've given it like 30 minutes to compensate for their forum delay, so here goes again.
I think the AI could be tweaked for the campaign purposes. In a sandbox game, with ever shifting alliances it makes sense for the AI to hedge his bets and not trade his most powerful weapons with me, even if he is allied with me as I could break the alliance and use them against him. In the campaign, when the Dread Lords are romping over all of us and he's got a stronger weapon than what I've got, why does he still want some insane amount of credits to trade me his weapon? I don't think there's even a way for me to break the alliances if I'd want to in that situation and it would only help us all in the end. I know when I got Doom Rays one mission I traded/gave them to all my allies and they kept the Dread Lords off my back for a bit, long enough for me to get done what I needed to get done.