Prep is definately the key to longetivety. Spray down with non clorinated brake cleaner, and let it dry. Bake in between coats if you can.
Someone makes a stone finish type paint. It adds some nice texture similar to a stone. Spray it on lightly though, as it can clump up if too thick. Helps break up the light IMO.
Your stuff is a little too black for my tastes though. Look at how much it sticks out on the natural background. Shadows occur naturaly, so no need to simulate them. I like to spray the entire gun in light brown/tan/coyote brown/etc. first. The stone texture is nice for the base coat. Then add shades of OD, and a small amount of darker brown and lighter brown, for woodland patterns. I've heard a theory about painting the top of the gun darker, and the bottom light, as it throws off the natural shadow effect. Sunlight usually leaves items light on top, and darker on the bottom. Think whitetail deer. I've also seen some really nice work done, using a doily as a pattern. Not a big fan of using netting though as it leaves too predictable of a pattern.
Also the digital stuff looks cool, but if you do need to touch up, it's not as easy to do, like if you had just random spraying. Also you can keep adding a squirt here and there, until you tweak it just right.
Whatever you do though, don't leave your gun alone with friends around, with pink spray paint handy.
Oh, and for God's sake don't paint the inside of you guns. Yes I have seen it. A little overspray can happen, but the entire inside of the gun....can't be good for function.