I wonder if the rounds on the primary effect aren't counting because something hasn't been done to the item. Edit: Okay, so, I'm not exactly sure what you were comparing to. It seems unlikely that it outlasted Magic Weapon, because my finding is that neither of these count during combat. I think objects don't get BeginRound messages except out of combat. If you were comparing it to spells cast on a character, that'd explain it.
Basically, I sat around after combat and let a number of 1t/lvl spells expire, such as bull's strength, etc. Spells that were cast around the same time as Disrupting weapon. And Disrupting weapon was still active. Here is the save game from immediately after the combat where DW was cast (DW likely would be finished or at least in the final rounds by this point). DW is on the Spiked chain of Tuelk. Good test subjects are still around (gnoll skeletons, amniote). You can wait a bit and see if it continues...I didn't wait around to see if the effect eventually ends, but it will disappear on area transition (as do all? other weapon spells). I have other save points, if you need something else - such as a point where nothing was on initially the weapons.
If you're comparing to Bull's Strength, it makes complete sense. Bull's Strength ticks during combat, and spells that target weapons don't (as far as I can tell). So if there were enough combat rounds, the Bull's Strength would end up with fewer rounds left than Disrupting Weapon, even though the initial duration of Bull's Strength is 10x as long. Edit: Apparently that isn't the problem, though. The spiked chain in that save is permanently disrupting somehow, even though the spell no longer exists. I guess somehow the spell ended without the item condition being removed.
Just pointing out that it was after combat that I waited for 50+ remining rounds spells to wind down before testing DW again.... I suspect that it gets the same duration as the previously applied Greater Magic Weapon of 1hr/lvl. Or maybe the keen edge of 10min/lvl.
For some reason, the function that's supposed to remove the item condition doesn't in your save game. Even when I look in the DM and call it with what appear to be the right arguments, nothing happens. Not sure why yet.
Ok, I did a more definitive test for you: Cast GMW, then DW. delay longer than the entire duration of DW before entering combat. DW is still active. Cast Keen Edge, then DW. delay longer than the entire duration of DW before entering combat. DW is still active. Cast only DW, delay longer than the entire duration of DW before entering combat. DW is still active. It might simply be DW, after all. And the other suggestion was just a red herring. Here is a save game with no spells active. Eloki(cleric) has DW. AlsoGMW. There are some skeletons directly ahead that are definitely <CL. No idea, here.
It might be easier for someone who can run debugging better to figure out what is going on, since it doesn't seem to be specific to Disrupting Weapon, but some of the underlying machinery. But I'll try to figure out what's happening later on.
I see one character does seem to have a permanet gmw+2 active after the Moathouse was done. odd. But that second save game I posted doesn't have that bug yet. (the first save posted does, though). However I tested magic weapon spell on all characters and it disappears after the correct 1t/lvl duration. Even on the bugged character. So the weapon spells should be behaving (except maybe for that one particular bugged GMW spell weapon).
One final interesting thing: I was thinking about what was different btw save 2 and save 1 that might produce the bugged GMW. And it was DW. So I tried this: Cast GMW, travel to a new location world map = no GMW Cast GMW +DW, travel to a new location world map = permanent GMW I think DW is causing some permanency somehow.
Can you confirm the issue on a fresh character without GMW? The interaction with GMW might be due to vanilla weapon enchantments just removing the last item condition applied, whereas I think DW actually searches for the right one. So GMW might be removing DW, and then DW expiring doesn't do anything since it can't find anything. Which means the vanilla remover needs to be fixed as well.
I think I've cast Magic Weapon and Disrupting Weapon in all orders on a new character, and had both expire correctly. That's why I thought it was the duration counting issue earlier. I kind of wonder if it's related to the quantity of item conditions somehow. Something overflowing so that certain conditions can no longer be removed. Edit: my other thought was that the spell ids in that save are much higher than anything I've tested, but they're only in the 3,000s, which isn't that big.
On a different character weapon (original character casts DW, though) Keen edge +DW produces permanent KE. I'll memorize some DW on a different caster....and try.
So I tried putting DW on a +3 mace (lt mace of smiting), waited until it was sure to be expired, then attacked and DW was still in effect. Different character, different caster, different weapon type. No other spells active. Also, in case it matters, both of these characters are l4 stormlords. Not sure why that would matter, though. One had the shock weapon applied, one did not. Btw, the reason you need to wait is that there is no duration or indication that DW is active and only the undead saving throw confirms that it is active.