After putting loads of traps in, I tracked this down eventually to my timer based movement routine.
Since upgrading my PC, I get over 1000fps which is great, but which means that frames can take 0 milliseconds to update (there is no more precision than this).
Under some conditions, I calculate something which is based on the current/previous frame difference which is divided with:
k#=SourceVal#+((DestVal#-SourceVal#)/(Speed#/MasterTimer.Adjust#))
(The MasterTimer.Adjust# value could sometimes be 0.0 now that I have an amazing new PC
)
I have had to add the following line to my timer based movement routine, which ensures that I will avoid possible divide by zero.
if MasterTimer.Adjust#=0.0 then MasterTimer.Adjust#=0.00001
@Phaelax: Yes, I checked for the string value which helped me narrow it down. Phew!!
May be worth checking your timer based movement routines (if you use them) as when you hit 1000fps, you will need to handle this.