umm I feel kind of stupid, but yeah sorry I just figured it out on my own.
I forgot to reset the $this->errors array in the class that I was using to save the generated errors. So just adding:
$this->errors = array();
to remove the old errors fixed the problem. As it turns out the deckerrors table records were being deleted, but because I never removed the errors from the class errors array, they were just being put right back plus any new errors.