OK.......I cooked up a quick mission using your script.
I took out the line _man domove getpos _target.
Put this line back in if you need it for your mission, but the problem I found was _man kept trying to move closer to the _target after each dotarget and dofire.
Maybe you could put that line outside the loop so he only moves near the target once.
Also changed a few other bits.
Try this.......I know it works......I tried it.:
_man = _this select 0
_target = _this select 1
;lets first check if the target is alive...
?!alive _target : goto "TargetisDead"
;if the target is alive then the script carries on...
_man SetCombatMode "Yellow"
_man SetBehaviour "Aware"
#Loop1
~10
_man dotarget _target
_man dofire _target
? alive _target: goto "loop1"
?! alive _target : titletext [format ["%1 neutralized.", name _target], "Plain down"]
Exit
;if the target is dead then this part of the script is executed...
#TargetisDead
titletext [format ["Sir, we have a problem, %1 appears to be dead.", name _target], "Plain Down"]
Exit
Planck