Num , this does not fix all of the problem , the following also causes it:
"' calculates next shots position
Public Sub updateshots()"
uses "With Shots(t)" in the code
when a -5 shot gets checked it calls on "takepoison"
here is what happens in takepoison if the robot is dead: "KillRobot n"
after that it goes to "makepoff" , thats were another problem is, because we are still working "with .shots(t)" it is still keeping the array locked, that basterd. :D
If I find more I'll let you know