What happens when 2 plots next to each other are owned by different players, but they're friends and can build on each other's plot and a TNT is activated in 1 plot and detonates in the other plot?
Or say it's the same scenario except the trust isn't mutual. Plot owned by A: B can build. Plot owned by B: A cannot build. What happens when a TNT is activated in the plot owned by A and detonates in the plot owned by B? If A activated the TNT, it should not explode. If B activated the TNT, it should explode. The current server software can keep track of who activated TNT, but it's limited. For example, it doesn't work when activated via redstone.
The easy way to resolve this is to just disable the explosion when the TNT moves from any private plot to any private plot, but this is limiting when you're building a TNT cannon that goes further than 50 blocks.
This would also cause some complications in block logging. Griefing via explosions should show up in the logs, but it may not say who did it. However, you can put the pieces together by seeing who placed TNT, used a flint and steel, etc. You don't say whether TNT can be used on public plots, so this may not be an issue.
And after writing this, I found that it looks like the bukkit API doesn't keep track of the spawn location of a primed TNT when it explodes, making all of this impossible or at least difficult.
It's sufficient to say all of this would be dead simple with recursive cause tracking