It looks like the Swashbuckler weapon finese is glitching on the thrown to hit bonus on daggers. It seems to be adding (Dex-Str) to the to hit on top of the basic dex bonus.
Uhg! As a data chimp, this is a best case example of why the formula parser is desperately required.
So, here's what's happening and why this isn't a "glitch".
Dagger has two prime types - these trigger weapon output blocks: Melee, and Ranged. Special Code dictates that Melee weapons use STR for the To hit, while Ranged weapons use DEX. The program does a great job of splitting these differences into the proper output blocks.
The Swashbuckler support says that a Dagger is part of a weapon group, we'll call this group Light Melee Piercing. The Swashbuckler Finesse alters the To Hit, simply put, it removes the STR, and adds the DEX difference to this weapon group, of which the Dagger belongs. End result, the program treats this To Hit bonus as a universal application and makes no distinction between Ranged and Melee.
I have no obvious solution to fix this. If I lower the Ranged, then I created a bug for all ranged weapons not affected by the Finesse. If I make dagger into two separate items, then I affect weight, cost, price and a whole slew of customization issues.
I think the only solution will be the implementation of the formula parser.
Dagger no longer benefits from the Swashbuckler Finesse, instead a new SPROP will be listed on the dagger indicating the melee bonus to hit.