I've had that problem with DBClassic - there are a couple of things you should try...
DISABLE OBJECT ZDEPTH Obj
- Which would mean it's drawn over the top of everything.
SET OBJECT CULLING Obj,0
- Would force it to draw both sides and might stop the wrong sides of polygons being drawn.
The other option is to forget locking it to the screen and positioning it instead - this is best done with a modified model that is offset - you might be able to get it on the screen nicely by offsetting the main limb though:
POSITION OBJECT Obj,Camera position x(),Camera position y(),Camera position z()
ROTATE OBJECT Obj,Camera angle x(),Camera angle y(),0
This will keep the object with the camera, only it won't be static if you use an offset model, it'll actually look better because the gun will move more realistically when your aiming. Also - when you glue an object, you can't do very much with it, by keeping it seperate, you can glue other objects onto it, guage the position of limbs etc - I have 2 limbs on my weapons to signify where to glue a flare, and another to signify the start of a bullet. With 2 locations in 3D, calculating your bullets directions is very easy.
Van-B

It's c**p being the only coder in the village.