Yikes, that isn't good at all and I know why it is happening. The message tale is joined with signature table where the stored signature_id in w3t_posts is the same as one in the w3t_signatures table. To insert error checking here would mean that a query would have to be added for every post, which isn't that good.
I think it would work if all posts with a signature are updated when the signature is deleted and set to default.