Loyce, is it certain the sender is rebroadcasting?
I'm pretty sure it would have dropped after a few days if it wouldn't be broadcasted again.
Assuming it's from Core, perhaps a good feature to add would be to automatically alert the user on transactions that weren't confirmed in # days (configurable), and ask whether to keep trying or abort.
Bitcoin Core has a command line option to remove unconfirmed transactions:
-zapwallettxes=
Delete all wallet transactions and only recover those parts of the
blockchain through -rescan on startup (1 = keep tx meta data e.g.
account owner and payment request information, 2 = drop tx meta
data)
(Always make a backup of wallet.dat before zapping your wallet!)Is the sending party someone you trust? I mean, if you ask him to zap the transaction, will he send it again?