I've just finished giving up on this method for doing exactly the same thing. Basically what I found was:
a.) You don't know the type of ammo you're after, necessitating a nearestobject _position call instead of a more specific nearestobject ["type",position] call. This picks up everything from bullets to decals (craters, footprints, ecp blood et cetera) to men and vehicles. This means that the player is less protected when he's next to a whole bunch of his comrades, since if the position of the nearestobject call happens to be close to a soldier, it generally picks him up instead of the bullet flying past him on it's way to your head.
b.) You need a lot of them! More so because they are non-specific nearestobject calls. At least 60 calls, say 10 per concentric circle going outwards from the player, are needed before anything resembling good protection is endowed. And with this number, looping as slowly as T=0.1s causes quite heavy lag. At least it did for me, and my computer is fairly modern :/. I know for a fact that 0.002s is highly impractical with this number
c.) You need even more of them! Because fast bullets can travel several hundred meters per second, your outer radius of nearestobject calls must depend on the frequency of calling. For example: you call with 0.01 seconds' period. A bulletSingle can travel, say, at 200 metres per second, or 2 metres per 0.01 seconds. That means you need an outer radius of at least 2 metres to catch most of the bullets at this period. BUT, LAWs, AA's and hellfires travel at 350 m/s whilst rockets travel at a blistering 1000 m/s! that would mean multiplying by 5 times, as you can see.
d.) The number of calls depends on the volume of a sphere, which depends on the cube of the radius. The further out from the player you go, the more calls you need per circle as the circles get bigger. BUT if you want to protect from air attacks, you need not just circles but spheres, for total protection. This means a lot of calls indeed
For these reasons I gave up. I'm now pursuing the idea of surrounding the player with invisible objects, e.g. invisible barrels, which will absorb the impact of bullets etc. These follow the player around with a fast setpos loop. This approach is still in the 'idea' stage however, I haven't had a chance to do any testing yet and don't forsee I will have in the near future. Perhaps this is what you're after?