Heh, made me feel a little bit smug from the first sentence of your thread.
But okay, to be fair I'll comment a bit, your gun is pretty boxy, bevels work good to round models out pretty well, but don't count on them all the time, manually adding detail and rounding things off yourself is always recommended, it's just not always the quickest way of doing things.
You also have some triangles that could be easily converted into quads, but that probably won't matter if you end up using this for some game.
One more thing you should remember is that when you add elevations in the surface of the mesh, simple put things that stand out and such, get used to using separate objects instead of extruding and wasting polygons, as it will save a lot of poly's. Although depending on what engine (If you're making the weapon for a game) you're making it may not support multiple objects, but most engines do.
Your barrel cylinders also have an unnecessary amount of divisions on them, as they could easily be halved down without losing much detail. I tend to always use cylinders with 8 divisions.
Otherwise it looks good, keep it up.
Alucard94, the member of the future of the past.