no, it has nothing at all to with your velocity, everything there is fine, it has to do with your value total angle, at a ceratin point if its in a location that allows it/the angle from ship to your mouse is bad, instead of bouncing back and forth, itll encroach zero, at that point, once it gets too long i suspect as a float, itll return -1.#IND or wtv, and then since your other actions are all somehow connected to it (you set the angle of an object, then you set velocity using it and set position and so forth) they all consecutively fail to work, since -1#IND is not a number, and so they return the same value aswell.
i think its an inherit problem with the way your decel on the angle is designed, it just pingpongs and it can be quite irratic as it shrinks (but gains decimal places) until it becomes a problem.
since the problem is that the number is too LONG
your going to need to place a limit on what numbers you add with the angle diff
now what im going to post isnt the BEST fix, since im not sure
whether or not the bug can still happen on rare occasions, but it does prevent the bug from happening 99.9999...% of the time im estimating
if this worries you, your best bet would probably be to scrap the current way or find a way to fix the way mouse/angle rotation is handled and rewrite it in a more stable manner that doesnt extend complexity as it runs on.http://dl.dropbox.com/u/1010927/fixdspaceship.cap
(fix on your current system)