I thought of a decent solution to prevent energy weapons from being refilled at the armoury by sell-buying. Simply make it so that when you sell an energy weapon at the armoury, it keeps track of how much ammo was left in it until the next time you die. So, if you sell it and try to re-buy it, it's purchased with the same ammo inside it as you had when you sold the weapon. Of course, it stops tracking the ammo after you die, so you don't abandon the pulse rifle for 15 mins then go buy one agan and notice it's empty.
Hope that made sense, it's pretty early in the morning here o_O Anyway, it's not that complex a solution, and would force people to use repeaters/reactor (even though I quite enjoy sell-buying myself)