While temptation to use "parentStory" in that statement causing us the problem is almost irresistible, it is actually better to use just "parent". If the found text is in a story then the two are synonymous but if the text is in a cell then the latter works and the former doesn't. So, try changing that line to:
myFinds[j].parent.characters.itemByRange(startIndex, endIndex).texts[0].contents = decString;
The only thing I'm not sure about is if a text cell is overset. I guess I can try that easily enough ... ah, yes it does. So this change should fix your problem.
If it doesn't and you can't work it out, I might need to see a document to help you further.
Dave