Hi,
I have had the same experience before, cleaning up was a long and grueling process. In term of the definitions doing harm, I cannot say they do; only that they will indeed take up database space as each definition has it's unique qualities. However, since it is one xml file being redeployed over and over; there will not be any physical storage required.
As for the clean up, I have read somewhere you can remove deployed definitions using the workflow console; I just cannot find the read anymore. Just make sure the definitions you want to remove do not have any instances attached to them as they will be wiped out together with their data.
Best of luck!