Sounds strange. One possibility is that the savegame gets corrupted somehow (not using pre-1.09 version of ArmA, are you?), and another that, as you surmise, there's something wrong with either the timer script or the actual body. You better test it :
Create a new mission, port over your script or write one that does approximately the same thing, except you add a hint or a globalchat or something after the timer ends (which should tell you that now is the time when the body should be deleted). If the body isn't deleted and the hint doesn't show, then there's clearly something wrong with the physical -timer-. If the hint is shown but the body isn't deleted, the problem does seem to lie in the body itself. If it works flawlessly, the problem might be in the mission itself - for instance the aforementioned corrupted savegame.
Try it out and report back!
Wolfrug out.