I'm in the planning stage of an open-source credit clearing system, and my idea is to use GPG keys to sign IOUs. But I'm concerned that if Bob signs an IOU he emails to Alice, then later deletes his keys, creates a new keypair and uploads his new key to keyservers, he'll be able to plausibly deny ownership of the IOU. Is there some programmatic way of proving a key once belonged to the owner of the email account that sent the signed email? My google-fu is failing me on this one.
Update: "non-repudiation" is the word I was looking for. Still researching...