Yes, they're worth the gold -- if you have enough weapons.
This is how it works:
SA = WeaponBase * 5 * NumberofWeapons * (1 + TotalUpgradePercent)
So, for 5 Excaliburs and no siege upgrades, it's:
64000 = 2560 * 5 * 5 * (1 + 0)
When you upgrade that the first time, it goes up to 80000 (a 25% increase). But from here on, you have to calculate what your SA would be *without* upgrades before you can determine how much an upgrade will help you. Example:
96000 = 2560 * 5 * 5 * (1 + .50)
That's not a 25% gain over 80000, that's a 50% gain over 64000, your base damage.
Therefore, since I now have 45 Excaliburs and Catapults for siege, the next upgrade will definitely be worth it for me:
1,152,000 = 2560 * 5 * 45 * (1 + 1.00) <-- currently
1,296,000 = 2560 * 5 * 45 * (1 + 1.25) <-- If I were to upgrade to Siege Towers
1,280,000 = 2560 * 5 * 50 * (1 + 1.00) <-- If I were to purchase five more Excaliburs
Upgrading to Siege Towers costs 640,000 gold. Buying five more Excaliburs costs 839,000.
I'll be getting more for my money if I upgrade before I buy more excaliburs.
Hope that helps!
Aran Taur
P.S. Oh, and every trained soldier without a weapons adds 36 to your SA. Every untrained soldier without a weapon adds 6 to your SA. I assume that the same ratio applies to untrained soldiers with weapons, but I've never had them, so I wouldn't know.